Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

Disappearing events in timeline if OverlapSortSpecifiers is defined

$
0
0
Smart GWT 4.0p (SmartClient Version: v9.0p_2013-08-13/PowerEdition Deployment (built 2013-08-13))

We noticed a ciritcal bug since we use the new rendering option for timeline: OverlapSortSpecifiers.

If overlapSortSpecifiers is defined, then the event #2 can't be seen on the timeline grid (see screen shot "Missing #2 if OverlapSortSpecifiers is given.png")

If we do not specify these specifiers #2 event comes back (see screen shot "Event #2 is visible if OverlapSortSpecifiers is not defined.PNG")

Below is the source code to repeat.

Thank you for your help!

Code:

import java.util.Date;

import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.data.SortSpecifier;
import com.smartgwt.client.types.SortDirection;
import com.smartgwt.client.types.TimeUnit;
import com.smartgwt.client.widgets.calendar.CalendarEvent;
import com.smartgwt.client.widgets.calendar.HeaderLevel;
import com.smartgwt.client.widgets.calendar.Lane;
import com.smartgwt.client.widgets.calendar.Timeline;

public class TestDisappearingTimelineEvent implements EntryPoint {
       
        private static Date today = new Date(); 
        private static int year = today.getYear(); 
        private static int month = today.getMonth(); 
        private static int day = today.getDate() - today.getDay();         

        @Override
        public void onModuleLoad() {
                Timeline timeline = new Timeline();
               
            timeline.setCanResizeTimelineEvents(false); 
            timeline.setCanEditLane(false); 
            timeline.setShowEventDescriptions(false);
            timeline.setDefaultTimelineColumnSpan(1);
            timeline.setTimelineUnitsPerColumn(1);
            timeline.setColumnsPerPage(24);
           
            HeaderLevel hlHour = new HeaderLevel(TimeUnit.HOUR);
            hlHour.setHeaderWidth(60);
        HeaderLevel[] headerLevels = new HeaderLevel[]{ 
              hlHour 
        }; 
        timeline.setHeaderLevels(headerLevels);
       
        SortSpecifier[] overlapSortSpecifiers = {
                                new SortSpecifier("order", SortDirection.DESCENDING),
                                new SortSpecifier("startDate", SortDirection.ASCENDING)};
       
        timeline.setOverlapSortSpecifiers(overlapSortSpecifiers);
               
                timeline.setLanes(getLanes());
                timeline.setData(getEvents());
               
                Date startDate = new Date(year, month, day, 6, 0, 0);
                Date endDate = new Date(year, month, day, 16, 0, 0);
                timeline.setTimelineRange(startDate, endDate);

                timeline.draw();
        }
       
        public static Lane[] getLanes() {
                Lane[] lanes = new Lane[]{
                                new Lane("ln 1", "ln 1"),
                                new Lane("ln 2", "ln 2"),
                                new Lane("ln 3", "ln 3"),
                                new Lane("ln 4", "ln 4"),
                                new Lane("ln 5", "ln 5")
                                };
               
                return lanes;
        }
       
        public static CalendarEvent[] getEvents() {
                CalendarEvent[] events = new CalendarEvent[14];
                events[0] = new CalendarEvent(1, "#1", "", new Date(year, month, day, 7, 15, 0), new Date(year, month, day, 7, 45, 0), "ln 2");
                events[0].setAttribute("order", 3);
                events[1] = new CalendarEvent(2, "#2", "", new Date(year, month, day, 8, 0, 0), new Date(year, month, day, 8, 15, 0), "ln 4");
                events[1].setAttribute("order", 3);
                events[2] = new CalendarEvent(3, "#3", "", new Date(year, month, day, 8, 0, 0), new Date(year, month, day, 8, 30, 0), "ln 1");
                events[2].setAttribute("order", 4);
                events[3] = new CalendarEvent(4, "#4", "", new Date(year, month, day, 9, 45, 0), new Date(year, month, day, 10, 15, 0), "ln 2");
                events[3].setAttribute("order", 4);
                events[4] = new CalendarEvent(5, "#5", "", new Date(year, month, day, 13, 0, 0), new Date(year, month, day, 13, 15, 0), "ln 2");
                events[4].setAttribute("order", 4);
                events[5] = new CalendarEvent(6, "#6", "", new Date(year, month, day, 13, 0, 0), new Date(year, month, day, 13, 30, 0), "ln 2");
                events[5].setAttribute("order", 4);
                events[6] = new CalendarEvent(7, "#7", "", new Date(year, month, day, 10, 0, 0), new Date(year, month, day, 10, 15, 0), "ln 5");
                events[6].setAttribute("order", 4);
                events[7] = new CalendarEvent(8, "#8", "", new Date(year, month, day, 8, 0, 0), new Date(year, month, day, 8, 30, 0), "ln 5");
                events[7].setAttribute("order", 4);
                events[8] = new CalendarEvent(9, "#9", "", new Date(year, month, day, 14, 30, 0), new Date(year, month, day, 15, 0, 0), "ln 2");
                events[8].setAttribute("order", 4);
                events[9] = new CalendarEvent(10, "#10", "", new Date(year, month, day, 6, 30, 0), new Date(year, month, day, 15, 0, 0), "ln 2");
                events[9].setAttribute("order", 5);
                events[10] = new CalendarEvent(11, "#11", "", new Date(year, month, day, 6, 30, 0), new Date(year, month, day, 13, 0, 0), "ln 4");
                events[10].setAttribute("order", 6);
                events[11] = new CalendarEvent(12, "#12", "", new Date(year, month, day, 13, 0, 0), new Date(year, month, day, 16, 0, 0), "ln 4");
                events[11].setAttribute("order", 6);
                events[12] = new CalendarEvent(13, "#13", "", new Date(year, month, day, 6, 30, 0), new Date(year, month, day, 16, 0, 0), "ln 1");
                events[12].setAttribute("order", 6);
                events[13] = new CalendarEvent(14, "#14", "", new Date(year, month, day, 6, 30, 0), new Date(year, month, day, 16, 0, 0), "ln 3");
                events[13].setAttribute("order", 6);
               
                return events;
        }

}



Viewing all articles
Browse latest Browse all 4756

Trending Articles