Project

General

Profile

Download (5.93 KB) Statistics
| Branch: | Revision:

git_sitools_idoc / solar / project_moduls_sitools2 / Module_ProjectTimeline_sitools2 / WeekTimeline.js @ master

1 20ff13ec shye0000
Ext.namespace('sitools.user.modules.weekTimeline');
2
sitools.user.modules.weekTimeline.createWeek= function (list){
3
        var date=new Date(list[0].date);
4
        switch(list[0].day){
5
                case "Monday":
6
                        this.firstday=list[0].daynum;
7
                        this.firstdate=date;
8
                break;
9
            case "Tuesday":
10
                    this.firstday=list[0].daynum-1.0;
11
                    this.firstdate=new Date(date-24*60*60*1000);
12
                break;
13
            case "Wednesday":
14
                    this.firstday=list[0].daynum-2.0;
15
                    this.firstdate=new Date(date-2*24*60*60*1000);
16
                break;
17
            case "Thursday":
18
                    this.firstday=list[0].daynum-3.0;
19
                    this.firstdate=new Date(date-3*24*60*60*1000);
20
                break;
21
            case "Friday":
22
                    this.firstday=list[0].daynum-4.0;
23
                    this.firstdate=new Date(date-4*24*60*60*1000);
24
                break;
25
            case "Saturday":
26
                    this.firstday=list[0].daynum-5.0;
27
                    this.firstdate=new Date(date-5*24*60*60*1000);
28
                break;
29
            case "Sunday":
30
                    this.firstday=list[0].daynum-6.0;
31
                    this.firstdate=new Date(date-6*24*60*60*1000);
32
                break;
33
        }
34
        this.lastday=this.firstday+6.0;
35
        this.lastdate=new Date();
36
        this.lastdate.setFullYear(this.firstdate.getFullYear());
37
        this.lastdate.setMonth(this.firstdate.getMonth());
38
        this.lastdate.setDate(this.firstdate.getDate()+6);
39
        this.text="";
40
        this.activities=new Array();
41
        for(var i=0;i<list.length;i++){
42
                this.activities.push(new sitools.user.modules.timeline.createActivity(list[i]));
43
                if(i==0){
44
                        this.text=this.text+list[i].text+"<br/>";
45
                }else{
46
                        if(list[i].text!=list[i-1].text){
47
                                this.text=this.text+list[i].text+"<br/>";
48
                        }
49
                }
50
                
51
        }
52
        this.getFirstday=getFirstday;
53
        function getFirstday(){
54
                return this.firstday;
55
        }
56
        this.getLastday=getLastday;
57
        function getLastday(){
58
                return this.lastday;
59
        }
60
        this.getFirstdate=getFirstdate;
61
        function getFirstdate(){
62
                return this.firstdate;
63
        }
64
        this.getLastdate=getLastdate;
65
        function getLastdate(){
66
                return this.lastdate;
67
        }
68
        this.getText=getText;
69
        function getText(){
70
                return this.text;
71
        }
72
        this.getActivities=getActivities;
73
        function getActivities(){
74
                return this.activities;
75
        }
76
}
77
sitools.user.modules.weekTimeline.prepareWeekTimeline= function (s,list){
78
        var appendTo = Ext.get(s);
79
        var container = Ext.get(Ext.DomHelper.append(appendTo,'<div id="timeline" align="center" class="timeline"></div>'));
80
        container=Ext.get(Ext.DomHelper.append(container,"<ul id='lineul' class='timeline'/>"));
81
        sitools.user.modules.weekTimeline.showActivity(list,container);
82
}
83
sitools.user.modules.weekTimeline.addWeekTimeline=function (list){
84
        var container = Ext.get('lineul');
85
        sitools.user.modules.weekTimeline.showActivity(list,container);
86
}
87
sitools.user.modules.weekTimeline.showActivity= function (weekList, ulObj){
88
        var count=0;
89
        for(var i=0; i<weekList.length;i++){
90
                if(count%2!=1){
91
                        var liObj = Ext.DomHelper.append(ulObj, "<li/>");
92
                }else{
93
                        var liObj = Ext.DomHelper.append(ulObj, "<li class='alt'/>");
94
                }
95
                var monday=weekList[i].getFirstdate().toDateString().split(" ");
96
                var sunday=weekList[i].getLastdate().toDateString().split(" ");
97
                Ext.DomHelper.append(liObj, 
98
                                "<div class='monday'>"+monday[1]+" "+monday[2]+" "+monday[3]+" -</div>"
99
                                +"<div class='sunday'>- "+sunday[1]+" "+sunday[2]+" "+sunday[3]+"</div>"
100
                                +"<div class='weeknumber'><strong>W "+(weekList[i].getFirstday()-40343.0)/7+"</strong></div>"
101
                                );
102
                var contentObj=Ext.DomHelper.append(liObj,"<div class='preview' />");
103
                var activities=weekList[i].getActivities();
104
                var preObj=Ext.DomHelper.append(contentObj,"<pre class='nodata' onclick='sitools.user.modules.weekTimeline.viewDetail(this.parentNode);' style='height:200px;'></pre>");
105
                var preObj=Ext.DomHelper.append(preObj,"<div class='activity_name'></div>");
106
                for(var j=0;j<activities.length;j++){
107
                        if(j==0){
108
                                if(activities[j].haveData()){
109
                                        Ext.DomHelper.append(preObj,"<div style='color:#F7FE2E'>"+activities[j].getText()+"</div>");
110
                                }else{
111
                                        Ext.DomHelper.append(preObj,"<div>"+activities[j].getText()+"</div>");
112
                                }
113
                        }else{
114
                                if(activities[j].getText()!=activities[j-1].getText()){
115
                                        if(activities[j].haveData()){
116
                                                Ext.DomHelper.append(preObj,"<div style='color:#F7FE2E'>"+activities[j].getText()+"</div>");
117
                                        }else{
118
                                                Ext.DomHelper.append(preObj,"<div>"+activities[j].getText()+"</div>");
119
                                        }
120
                                }
121
                        }
122
                }
123
                Ext.DomHelper.append(contentObj,"<div class='detail_button' onclick='sitools.user.modules.weekTimeline.viewDetail(this.parentNode);'><div class='img_detail'></div></div>");
124
                var detailObj=Ext.DomHelper.append(liObj,"<div class='detail' style='display:none;' />");
125
                var detailUlObj=Ext.get(Ext.DomHelper.append(detailObj,"<ul class='timeline' />"));
126
                 var ruler1="<div class='ruler ruler1'>00:00:00</div>";
127
                 var ruler2="<div class='ruler ruler2'>06:00:00</div>";
128
                 var ruler3="<div class='ruler ruler3'>12:00:00</div>";
129
                 var ruler4="<div class='ruler ruler4'>18:00:00</div>";
130
                 var ruler5="<div class='ruler ruler5'>24:00:00</div>";
131
                Ext.DomHelper.append(detailUlObj,ruler1);
132
                Ext.DomHelper.append(detailUlObj,ruler2);
133
                Ext.DomHelper.append(detailUlObj,ruler3);
134
                Ext.DomHelper.append(detailUlObj,ruler4);
135
                Ext.DomHelper.append(detailUlObj,ruler5);
136
                sitools.user.modules.timeline.showActivity(weekList[i].getActivities(),detailUlObj);
137
                Ext.DomHelper.append(detailObj,"<div class='close_button' onclick='sitools.user.modules.weekTimeline.backtoweek(this.parentNode);'><div class='img_close'></div></div>");
138
                
139
                count++;
140
                
141
        }
142
}
143
144
sitools.user.modules.weekTimeline.back=function(o){
145
        o.parentNode.parentNode.scrollIntoView();
146
        
147
}
148
149
sitools.user.modules.weekTimeline.viewDetail=function(o){
150
        //Ext.get(o).hide();
151
        o.style.display="none";
152
        //o.nextSibling.style.display="block";
153
        Ext.get(o.nextSibling).slideIn('t', {duration: 0.5 });
154
        
155
}
156
sitools.user.modules.weekTimeline.backtoweek=function(o){
157
        //Ext.get(o).slideOut('t',{duration: 0.5});
158
        o.style.display="none";        
159
        //o.previousSibling.style.display="block";
160
        Ext.get(o.previousSibling).slideIn('t', {duration: 0.3 });
161
}
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197