@@ -33,8 +33,7 @@ function Ganttalendar(zoom, startmillis, endMillis, master, minGanttSize) {
3333 this . minGanttSize = minGanttSize ;
3434 this . includeToday = true ; //when true today is always visible. If false boundaries comes from tasks periods
3535
36- //this.zoomLevels = ["d","w","m","q","s","y"];
37- this . zoomLevels = [ "w" , "m" , "q" , "s" , "y" ] ;
36+ this . zoomLevels = [ "d" , "w" , "m" , "q" , "s" , "y" ] ;
3837
3938 this . element = this . create ( zoom , startmillis , endMillis ) ;
4039
@@ -75,6 +74,11 @@ Ganttalendar.prototype.create = function (zoom, originalStartmillis, originalEnd
7574 start . setHours ( 0 , 0 , 0 , 0 ) ;
7675 end . setHours ( 23 , 59 , 59 , 999 ) ;
7776
77+ start . setFirstDayOfThisWeek ( ) ;
78+ end . setFirstDayOfThisWeek ( ) ;
79+ end . setDate ( end . getDate ( ) + 6 ) ;
80+
81+
7882 //reset day of week
7983 } else if ( zoomLevel == "w" ) {
8084 start . setHours ( 0 , 0 , 0 , 0 ) ;
@@ -233,28 +237,30 @@ Ganttalendar.prototype.create = function (zoom, originalStartmillis, originalEnd
233237
234238 //week
235239 } else if ( zoom == "w" ) {
236- computedTableWidth = Math . floor ( ( ( endPeriod - startPeriod ) / ( 3600000 * 24 ) ) * 30 ) ; //1 day= 30px
240+ computedTableWidth = Math . floor ( ( ( endPeriod - startPeriod ) / ( 3600000 * 24 ) ) * 40 ) ; //1 day= 40px
237241 iterate ( function ( date ) {
238242 var end = new Date ( date . getTime ( ) ) ;
239243 end . setDate ( end . getDate ( ) + 6 ) ;
240244 tr1 . append ( createHeadCell ( date . format ( "MMM d" ) + " - " + end . format ( "MMM d'yy" ) , 7 ) ) ;
241245 date . setDate ( date . getDate ( ) + 7 ) ;
242246 } , function ( date ) {
243- tr2 . append ( createHeadCell ( date . format ( "EEEE" ) . substr ( 0 , 1 ) , 1 , isHoliday ( date ) ? "holyH" : null , 30 ) ) ;
247+ tr2 . append ( createHeadCell ( date . format ( "EEEE" ) . substr ( 0 , 1 ) , 1 , isHoliday ( date ) ? "holyH" : null , 40 ) ) ;
244248 trBody . append ( createBodyCell ( 1 , date . getDay ( ) % 7 == ( self . master . firstDayOfWeek + 6 ) % 7 , isHoliday ( date ) ? "holy" : null ) ) ;
245249 date . setDate ( date . getDate ( ) + 1 ) ;
246250 } ) ;
247251
248252 //days
249253 } else if ( zoom == "d" ) {
250- computedTableWidth = Math . floor ( ( ( endPeriod - startPeriod ) / ( 3600000 * 24 ) ) * 200 ) ; //1 day= 200px
254+ computedTableWidth = Math . floor ( ( ( endPeriod - startPeriod ) / ( 3600000 * 24 ) ) * 100 ) ; //1 day= 100px
251255 iterate ( function ( date ) {
252- tr1 . append ( createHeadCell ( date . format ( "EEEE d MMMM yyyy" ) , 4 , isHoliday ( date ) ? "holyH" : null ) ) ;
253- date . setDate ( date . getDate ( ) + 1 ) ;
256+ var end = new Date ( date . getTime ( ) ) ;
257+ end . setDate ( end . getDate ( ) + 6 ) ;
258+ tr1 . append ( createHeadCell ( date . format ( "MMMM d" ) + " - " + end . format ( "MMMM d yyyy" ) , 7 ) ) ;
259+ date . setDate ( date . getDate ( ) + 7 ) ;
254260 } , function ( date ) {
255- tr2 . append ( createHeadCell ( date . format ( "HH " ) , 1 , isHoliday ( date ) ? "holyH" : null ) , 200 ) ;
256- trBody . append ( createBodyCell ( 1 , date . getHours ( ) > 17 , isHoliday ( date ) ? "holy" : null ) ) ;
257- date . setHours ( date . getHours ( ) + 6 ) ;
261+ tr2 . append ( createHeadCell ( date . format ( "EEE d " ) , 1 , isHoliday ( date ) ? "holyH" : null , 100 ) ) ;
262+ trBody . append ( createBodyCell ( 1 , date . getDay ( ) % 7 == ( self . master . firstDayOfWeek + 6 ) % 7 , isHoliday ( date ) ? "holy" : null ) ) ;
263+ date . setDate ( date . getDate ( ) + 1 ) ;
258264 } ) ;
259265
260266 } else {
@@ -418,7 +424,6 @@ Ganttalendar.prototype.drawTask = function (task) {
418424 self . resDrop = true ; //hack to avoid select
419425 var taskbox = $ ( this ) ;
420426 var task = self . master . getTask ( taskbox . attr ( "taskid" ) ) ;
421-
422427 var s = Math . round ( ( parseFloat ( taskbox . attr ( "x" ) ) / self . fx ) + self . startMillis ) ;
423428 self . master . beginTransaction ( ) ;
424429 self . master . moveTask ( task , new Date ( s ) ) ;
@@ -429,7 +434,6 @@ Ganttalendar.prototype.drawTask = function (task) {
429434 $ ( ".ganttSVGBox .focused" ) . removeClass ( "focused" ) ;
430435 var taskbox = $ ( this ) ;
431436 var text = $ ( self . svg . text ( parseInt ( taskbox . attr ( "x" ) ) + parseInt ( taskbox . attr ( "width" ) + 5 ) , parseInt ( taskbox . attr ( "y" ) ) , "" , { stroke :"#888" , "font-size" :"12px" } ) ) ;
432-
433437 taskBox . data ( "textDur" , text ) ;
434438 } ,
435439 resize : function ( e ) {
@@ -470,14 +474,12 @@ Ganttalendar.prototype.drawTask = function (task) {
470474 self . linkFromEnd = $ ( this ) . is ( ".taskLinkEndSVG" ) ;
471475 svg . addClass ( "linkOnProgress" ) ;
472476
473-
474477 // create the line
475478 var startX = parseFloat ( taskBox . attr ( "x" ) ) + ( self . linkFromEnd ? parseFloat ( taskBox . attr ( "width" ) ) :0 ) ;
476479 var startY = parseFloat ( taskBox . attr ( "y" ) ) + parseFloat ( taskBox . attr ( "height" ) ) / 2 ;
477480 var line = self . svg . line ( startX , startY , e . pageX - offs . left - 5 , e . pageY - offs . top - 5 , { class :"linkLineSVG" } ) ;
478481 var circle = self . svg . circle ( startX , startY , 5 , { class :"linkLineSVG" } ) ;
479482
480-
481483 //bind mousemove to draw a line
482484 svg . bind ( "mousemove.linkSVG" , function ( e ) {
483485 var offs = svg . offset ( ) ;
0 commit comments