Git Product home page Git Product logo

gantt's People

Contributors

binbalenci avatar jcoig avatar jlleitschuh avatar lrozenblyum avatar tltv avatar voltor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gantt's Issues

Vaadin 7.2 released

Hi
Now that 7.2 has been released are you going to provide a version that works with it?

Phillip

gantt.scss not compiled with the widgets in Vaadin 7.2

I have a small issue with gantt.scss that is not compiled with the widgets and it is missing at the end of the compilation process.
I imported it manually to my application and the addon works fine, but it would be nice to have it automatically there.
Does anybody else have this small issue?
Thanks

Gaant-demo integration not working.

Hi,

I am trying to integrate the gaant-demo into our Spring-MVC application. I am having some problem with Widgetset. Can you kindly help me out. Thanks.

Here is the screenshot, which indicates the gaant-charts are not getting loaded.

Sorry for the messed up indentation in the code, Github does not seem to support ctrl+k or other shortcuts, and no tab press to indent fast. NICE!!!

PostImage link : http://s15.postimg.org/70iii7yrv/Screenshot_from_2015_11_18_15_18_18.png

Code :

   @Theme("demo")
  @SpringUI
  @SuppressWarnings("serial")
   public class MyVaadinUI extends UI {


   @WebServlet(value = "/testvaadin", asyncSupported = true)
  @VaadinServletConfiguration(productionMode = false, ui = MyVaadinUI.class, widgetset =      "org.tltv.gantt.demo.DemoWidgetSet")
    public static class Servlet extends SpringVaadinServlet {
    }

    After this line, I copy pasted the entire contents of DemoUI.java.
     Pastebin  link : http://pastebin.com/mi1ZhH30
    }

POM.xml :

         <vaadin.version>7.5.7</vaadin.version>

       <parent>
               <groupId>io.spring.platform</groupId>
              <artifactId>platform-bom</artifactId>
            <version>1.1.3.RELEASE</version>
              <relativePath/>
         </parent>

         <repositories>
    <repository>
        <id>vaadin-addons</id>
        <url>http://maven.vaadin.com/vaadin-addons</url>
    </repository>

</repositories>

<dependencies>

    <!--- Vaadin dependency -->
    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-spring</artifactId>
        <version>1.0.0</version>
    </dependency>

    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-themes</artifactId>
        <version>${vaadin.version}</version>
    </dependency>

    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-client-compiled</artifactId>
        <version>${vaadin.version}</version>
    </dependency>

    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-push</artifactId>
        <version>${vaadin.version}</version>
    </dependency>

    <dependency>
        <groupId>org.tltv.gantt</groupId>
        <artifactId>gantt-addon</artifactId>
        <version>0.9.0</version>
    </dependency>

web.xml :

         <servlet>
               <servlet-name>vaadin-spring</servlet-name>
               <servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
             <init-param>
                   <description>
                      Vaadin UI class to use</description>
                      <param-name>UI</param-name>
                   <param-value>com.journaldev.spring.Vaadin.MyVaadinUI</param-value>
                   </init-param>
                  <async-supported>true</async-supported>
                  </servlet>

             <context-param>
                   <param-name>productionMode</param-name>
                     <param-value>false</param-value>
             </context-param>

           <servlet-mapping>
                 <servlet-name>vaadin-spring</servlet-name>
                <url-pattern>/*</url-pattern>
            </servlet-mapping>

What's the deal with widgetset that I always have problem with Vaadin and now with this project. I cannot find the files for widgetset and no answers on forums help. I hope you know already. Thanks a lot...

Slow CSS?

I use Vaadin 7.3.0.

I just experienced a (very) slow rendering inside Chrome (37.0.2062.122, MacOS).

That happens whenever there are many tasks in the Gantt chart (some 100 in my case).

But: only inside Chrome. If you open the page inside Safari or FF, it is much faster...

Any idea? Did you experience a similar behavior yet?

Export to img or pdf

Hello

There is a possibility to export the graph in pdf or as an image to be printed, is an option that other libraries contemplated.

A greeting.

Can't get Gantt Addon Example running in my webapp

Hi,

my vaadin (7.5.10) application uses a tabsheet containing a ViewDisplay. Theme is a customized valo.

I downloaded the Gantt example but could not get it running, the result looks strange:

image

Do you have any hint what is breaking the gantt diagram? When opening the gantt diagram, the bars are shown for half a second on the upper right corner of its layout and then dissapear with the result above.

Cheers,
Aydin

Undefined height vs add step

When the gantt's height is undefined and I add a step to the gantt from a listener, the component doesn't grow. You can reproduce the bug by commenting out gantt.setHeight(500, Unit.PIXELS); line in DemoUI and add adding a step from the menu.
Can you suggest me a workaround for this issue (if exists)? Can I force height update somehow?

Thanks

Background-grid doesn't scroll

Hi,

I'm using Vaadin 7.4.1 and the latest release of the Gantt add on under OS X.

When you scroll down (you can use the demo) inside Chrome, the grid will not scroll with the Gantt steps.
Inside Safari it works as expected. So there must be an issue with Chrome (41.0.2272.118 (64-bit)).

Thanks,
Markus

Multiple Steps on the Same Row

Hi,

Is there any way to add multiple steps on the same row - similar to the way you can split a task in MS Project?

Many thanks,

Ian

[ feature ] officially support 'empty' step

In different use cases gantt is used to display data by some categories (so each line represents a category).

In real life there might be no data for a particular category, while the line should be drawn anyway.

Now this behaviour can be unofficially simulated by

step.setStartDate( new Date() );
step.setEndDate( step.getStartDate() );

however it's a hack and looks not nice.

Could you add some official support for empty steps? Thanks

setResizable For Particular Step

Gantt has resizable function for entire steps. But I need to disable resizable for particular step.
step.setResizable(false);

Increase width of gantt grid cells

Hi,

Great add-on!
I need to increase the width of resolution grid cells. I'm using the gantt chart with an hour resolution to represent tasks on a 24 hour time frame and so it would be great to increase the width of each hour cell in order to make the graph more visually pleasant...

gantt

Many thanks

Minutes and seconds

This issue was closed, but we are interested to use gantt with seconds and minutes. How we can extend your addon? Which classes we have to change and add?

Drop on Step

Hi,

is it possible to Drag something from a Table, or a Grid on a Step in the Gantt Chart? That would be so helpful.

Thanks

Utilities to delegate vertical scroll position for other components like TreeTable is a possible addition in near future

It will be great to have such feature

comments from
https://vaadin.com/directory#addon/gantt

Alexey Ivanov โ€“ May 18, 2014 11:32 AM
Hi, is it possible to have tree structure from left side and chart from right side for tasks? Do you have any plan to do it? Similar as for this addon https://vaadin.com/directory#addon/vaadin-gantt-diagram:vaadin
Author's response โ€“ May 24, 2014 9:34 AM
No plans on adding tree stucture like that. But utilities to delegate vertical scroll position for other components like TreeTable is a possible addition in near future.

Show full description of step when small step

For small steps, the "overflow : hidden" property prevents to see the caption properly. Could there be a way to either show a tooltip with a mouse over with the full description, or to choose wether or not the description should be "aligned" with the step size?

slow page loading

Hi, I am building a resource planning instrument and I have some performance issues when I try to load 3/400 hundred steps at the same time.
Is there any plan to support lazy loading on scrolls?

If the Gantt widget is inside a TabSheet, and a step has a predecessor, changing away from the gantt tab throws javascript exception

With Vaadin version 7.6.2, and Gantt addon version 0.9.3 (also with 0.9.1), the following code throws javascript exception in the browser console (and the tabs will be empty)

DateTime now = new DateTime();

Gantt gantt = new Gantt();
gantt.setStartDate(now.toDate());
gantt.setEndDate(now.plusMonths(1).toDate());

Step s1 = new Step("step 1");
s1.setStartDate(now.toDate());
s1.setEndDate(now.plusDays(1).toDate());
gantt.addStep(s1);

Step s2 = new Step("step 2");
s2.setStartDate(now.plusDays(2).toDate());
s2.setEndDate(now.plusDays(3).toDate());
gantt.addStep(s2);

s2.setPredecessor(s1); //the problem goes away if this is commented out

gantt.setWidth("100%");
gantt.setHeight("500px");

TabSheet t = new TabSheet();

t.addTab(new Label("Tab 1 content"), "Tab 1");
t.addTab(gantt, "Tab 2");

setContent(t);

The exception is somewhat obfuscated, but basically it is:

SEVERE: Error sending hierarchy change eventscom.google.gwt.event.shared.UmbrellaException: Exception caught: Exception caught: Should only call onDetach when the widget is attached to the browser's document
...
Caused by: com.google.gwt.user.client.ui.AttachDetachException: Exception caught: Should only call onDetach when the widget is attached to the browser's document
...
Caused by: java.lang.IllegalStateException: Should only call onDetach when the widget is attached to the browser's document

UTC support

Reproduced in 0.9.3 not in 0.9.1
While it's nice that Gantt supports custom timezones now, it's an issue it doesn't support UTC anymore.
gantt.setTimeZone( TimeZone.getTimeZone("UTC") ); will throw an exception

It is possible to avoid dependency on TimeZoneConstants.properties at all?
java has https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#getAvailableIDs--
we could rely always on.
Thanks.

Corresponding part of stack trace:

Caused by: java.lang.IllegalArgumentException: Time zone UTC not found in TimeZoneConstants.properties
at org.tltv.gantt.Gantt.getTimeZoneJson(Gantt.java:899)
at org.tltv.gantt.Gantt.updateTimezoneOffsets(Gantt.java:794)
at org.tltv.gantt.Gantt.updateTimelineStartTimeDetails(Gantt.java:781)
at org.tltv.gantt.Gantt.setStartDate(Gantt.java:188)
...
....
at com.vaadin.ui.UI.accessSynchronously(UI.java:1381)
at com.vaadin.ui.UI$3.run(UI.java:1447)

NullPointerException when retrieving step with getStep(String uid)

With the latest version, I am getting a Nullpointerexception when resizing a step which was added to the gantt.
The getStep(String Uid) method actually returns a Step which is empty (getcaption, getstartdate etc always return null, even though the step was correctly added).

I have tried this programatically and with the gantt layout, and always gets the problem.

Chrome : display small amount of rows

When inside demo application you replace for (int i = 0; i < 10; i++) by
for (int i = 0; i < 3; i++)

and comment out lines
gantt.addStep(step1); gantt.addStep(step2); gantt.addStep(step3); gantt.addStep(step4); gantt.addStep(stepWithSubSteps);

The design of cells is not fine (last line of cells is not drawn).
The issue is Chrome-specific.

chromeissue

setData() on AbstractStep

Hello,

It would be nice to have a setData on AbstractStep object. For instance, it would help keeping a link between database object and on-screen step.

Regards

Scroll To Date or Step

For Example in Vaadin Table is a function "setCurrentPageFirstItemId".

Would it be possible to make something similar in the gantt component so we can scroll to a date or step?

removeSteps is wrong

if we call removeSteps on non-empty gantt, it doesn't clear properly.
Vaadin has a lot of warnings.
In case we enable -ea JVM setting it also contains assertion error

11:58:50,623 WARNING [com.vaadin.ui.ConnectorTracker](default task-42) org.tltv.gantt.SubStepComponent(64) claims that org.tltv.gantt.StepComponent(55) is its parent, but the parent does not acknowledge the parenthood.
11:58:50,623 WARNING [com.vaadin.ui.ConnectorTracker](default task-42) org.tltv.gantt.SubStepComponent(81) claims that org.tltv.gantt.StepComponent(73) is its parent, but the parent does not acknowledge the parenthood.
11:58:50,624 SEVERE [com.vaadin.server.DefaultErrorHandler](default task-42) : java.lang.AssertionError: The connector hierarchy is corrupted. Check for missing calls to super.setParent(), super.attach() and super.detach() and that all custom component containers call child.setParent(this) when a child is added and child.setParent(null) when the child is no longer used. See previous log messages for details.
at com.vaadin.ui.ConnectorTracker.cleanConnectorMap(ConnectorTracker.java:291)
at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:328)
at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:155)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:101)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1408)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:351)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)
at com.yukon.absenceplanner.security.MultiTenancyFilter.doFilter(MultiTenancyFilter.java:59)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

I'm going to provide a pull request soon that fixes the problem

Step double click detection

I can't detect double click on steps. event.getDetails().isDoubleClick() is always false in Gantt click listener. Can you confirm this issue? (Or I did something wrong?)

Example:

        gantt.addClickListener(new Gantt.ClickListener() {
            @Override
            public void onGanttClick(org.tltv.gantt.Gantt.ClickEvent event) {
                if(event.getDetails().isDoubleClick()) {
                    Notification.show("Double click"); //never executed
                }
            }
        });

Thanks

Touch gestures

The add-on by default seems not to react on touch gestures (in my case on an iPad) for "scrolling" through the diagram.

There is the touchSupported attribute and the setter (which has a typo setTouchSupporttted (3 ts)), but still I can't see where this is being called and I suppose that this is the reason.

Subclassing subStep breaks event management

Hello,

I need to maintain some link between my table line and the substep I create in Gantt, to use it when user clicks on it.
As there is no setData on steps, I made a subclass of substep :

public class TaskStep extends SubStep { Task task; }

With this kind of substep, Gantt is displaying without any trouble but click-event is broken : event object has no step ( event.getStep() always returns null )
I have the feeling this is something coming from uuid, so I tried to force uuid creation on my TaskStep object, but without any more success.

Regards

Drag and drop steps between lines

Hello,

I am building a resource planning app in which the steps are tasks and the lines are people (or other resources). But with this addon the user is not able to drag a step (task) from one line (person) to another.
Are you planning to add this functionality? Or ability to drag a substep from one parent to another? Or do you have any suggestion how can I implement this with the existing features?

Thanks

move listener + ctrl key

Hello,

Is it possible to detect if the user is holding the ctrl key when he moves the steps?
A similar feature is available in the click listener.

Thanks

TimeZones handling

SCENARIO:
Provide start/end dates in some time-zone
Set timezone of the component itself

String zone = "Europe/Amsterdam";
gantt.setTimeZone( TimeZone.getTimeZone( zone ) );
Date start = Date.from( LocalDateTime.of( 2015, 4, 1, 0, 0 ).atZone( ZoneId.of( zone ) ).toInstant());
Date end = Date.from( LocalDateTime.of( 2015, 4, 30, 0, 0 ).atZone( ZoneId.of( zone ) ).toInstant() );
gantt.setStartDate( start );
gantt.setEndDate( end );`

EXPECTED:
Show April 2015 (1-30) in gantt

ACTUALLY:
Gantt shows 31 Mar - 29 Apr
See screenshot
ganttbug

Extra details:
it looks like the component tries to recalculate dst offsets which might be wrong. Date passed should be just interpreted for visualizing in the component's timezone.

7.3 Valo theme

Your gantt chart does not seem to use the Valo theme, are you going to support this theme?

Minute interval

hi,

I am adding minute to timeline widget and i changed minutes interval to 5 minutes
public static final long MINUTE_INTERVAL = 5*60 * 1000;

after scrolling the interval display wrong values
[capture1]

`private void fillTimelineForMinuteResolution(final long startDate, long endDate, final int left) {
firstDay = true;
fillTimelineForMinuteResolution(MINUTE_INTERVAL, startDate, endDate, new ResolutionBlockFiller() {

        int minuteCounter = getFirstMinuteOfVisibleRange(startDate);
        boolean even = isEven(startDate);

        @Override
        public void fillResolutionBlock(int index, Date date, String currentYear, boolean lastTimelineBlock) {
            int childCount = getResolutionDiv().getChildCount();
            if (isValidChildIndex(index, childCount)) {
                DivElement resBlock = DivElement.as(Element.as(getResolutionDiv().getChild(index)));
                fillMinuteResolutionBlock(resBlock, date, index, minuteCounter, lastTimelineBlock, left, even);
                minuteCounter = (minuteCounter + 1) % 60;
                even = !even;
            } else {
                logIndexOutOfBounds("minute", index, childCount);
                return;
            }
        }

        private boolean isEven(long startDate) {
            long normalDate = toNormalDate(startDate);
            if (normalStartDate < normalDate) {
                int minutes = (int) ((normalDate - normalStartDate) / MINUTE_INTERVAL);
                return (minutes % 2) == 1;
            }
            return false;
        }

        private int getFirstMinuteOfVisibleRange(long startDate) {
            long normalDate = toNormalDate(startDate);
            if (normalStartDate < normalDate) {
                int minutes = (int) ((normalDate - normalStartDate) / MINUTE_INTERVAL);
                return ((firstMinuteOfRange + minutes) % 60);
            }
            return firstMinuteOfRange;
        }
    });
}`

in
capture
capture1

Best Regards,
Hamzeh

setIdentifier on SubStep - breaks ClickListener

SCENARIO:
For a substep in demo page
subStep1.setIdentifier( 123L );

Click on that substep on screen

EXPECTED:
No issues, just some custom value is available to retrieve from the SubStep

ACTUALLY:
Gantt.ClickListener is called, but event.getStep() is null

java.lang.NullPointerException
at com.vaadin.data.util.BeanItem.(BeanItem.java:61)
at org.tltv.gantt.demo.DemoUI.openStepEditor(DemoUI.java:625)

Project fails to build with Vaadin 7.2.0.beta1

I get the following error;

auto discovered modules [com.shu.si.cronjobviewer.AppWidgetSet]
Failed to retrieve com.vaadin:vaadin-client-compiler based on project POM
Using com.vaadin:vaadin-client-compiler version 7.2.0.beta1
Compiling module com.shu.si.cronjobviewer.AppWidgetSet
Validating units:
[WARN] Warnings in 'jar:file:/C:/Users/litspjc/.m2/repository/com/vaadin/vaadin-client/7.2.0.beta1/vaadin-client-7.2.0.beta1.jar!/com/google/gwt/user/client/impl/DOMImplMozilla.java'
[WARN] Line 42: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Warnings in 'jar:file:/C:/Users/litspjc/.m2/repository/com/vaadin/vaadin-client/7.2.0.beta1/vaadin-client-7.2.0.beta1.jar!/com/google/gwt/user/client/impl/DOMImplOpera.java'
[WARN] Line 31: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 33: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 35: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 37: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 39: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 41: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 43: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 45: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 47: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 49: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 51: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 53: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 55: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 57: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 59: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 61: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchUnhandledEvent'
[WARN] Line 63: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 65: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 67: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 69: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Warnings in 'jar:file:/C:/Users/litspjc/.m2/repository/com/vaadin/vaadin-client/7.2.0.beta1/vaadin-client-7.2.0.beta1.jar!/com/google/gwt/user/client/impl/DOMImplStandard.java'
[WARN] Line 223: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 226: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchUnhandledEvent'
[WARN] Line 262: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 264: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 266: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 268: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 270: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 272: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 274: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 276: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 278: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 280: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 282: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 284: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 286: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 288: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 290: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 292: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchUnhandledEvent'
[WARN] Line 294: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 296: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 298: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 300: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 302: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 304: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 306: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 308: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 310: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 312: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[WARN] Line 314: Referencing deprecated field 'com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent'
[ERROR] Errors in 'jar:file:/C:/Users/litspjc/.m2/repository/org/tltv/gantt/gantt-addon/0.1.1/gantt-addon-0.1.1.jar!/org/tltv/gantt/client/GanttWidget.java'
[ERROR] Line 38: The import com.google.gwt.event.dom.client.MsPointerCancelEvent cannot be resolved
[ERROR] Line 39: The import com.google.gwt.event.dom.client.MsPointerCancelHandler cannot be resolved
[ERROR] Line 40: The import com.google.gwt.event.dom.client.MsPointerDownEvent cannot be resolved
[ERROR] Line 41: The import com.google.gwt.event.dom.client.MsPointerDownHandler cannot be resolved
[ERROR] Line 42: The import com.google.gwt.event.dom.client.MsPointerMoveEvent cannot be resolved
[ERROR] Line 43: The import com.google.gwt.event.dom.client.MsPointerMoveHandler cannot be resolved
[ERROR] Line 44: The import com.google.gwt.event.dom.client.MsPointerUpEvent cannot be resolved
[ERROR] Line 45: The import com.google.gwt.event.dom.client.MsPointerUpHandler cannot be resolved
[ERROR] Line 228: MsPointerDownHandler cannot be resolved to a type
[ERROR] Line 228: MsPointerDownHandler cannot be resolved to a type
[ERROR] Line 231: MsPointerDownEvent cannot be resolved to a type
[ERROR] Line 247: MsPointerUpHandler cannot be resolved to a type
[ERROR] Line 247: MsPointerUpHandler cannot be resolved to a type
[ERROR] Line 250: MsPointerUpEvent cannot be resolved to a type
[ERROR] Line 259: MsPointerMoveHandler cannot be resolved to a type
[ERROR] Line 259: MsPointerMoveHandler cannot be resolved to a type
[ERROR] Line 262: MsPointerMoveEvent cannot be resolved to a type
[ERROR] Line 278: MsPointerCancelHandler cannot be resolved to a type
[ERROR] Line 278: MsPointerCancelHandler cannot be resolved to a type
[ERROR] Line 281: MsPointerCancelEvent cannot be resolved to a type
[ERROR] Line 566: MsPointerDownHandler cannot be resolved to a type
[ERROR] Line 566: MsPointerDownEvent cannot be resolved
[ERROR] Line 567: MsPointerUpHandler cannot be resolved to a type
[ERROR] Line 567: MsPointerUpEvent cannot be resolved
[ERROR] Line 568: MsPointerMoveHandler cannot be resolved to a type
[ERROR] Line 568: MsPointerMoveEvent cannot be resolved
[ERROR] Line 569: MsPointerCancelHandler cannot be resolved to a type
[ERROR] Line 570: MsPointerCancelEvent cannot be resolved

[ERROR] Aborting compile due to errors in some input files

BUILD FAILURE

MoveEvent - Step's previous position

gant.addMoveListener(new Gantt.MoveListener() {
   @Override
   public void onGanttMove(MoveEvent event) {
   Step step = (Step) event.getStep();
   }
}

I get the step's last position; but I need starting point before moved. Is it possible to support this function?

New resolutions

I would like to use the gnatt chart to show jobs that are run during a 24 hour period.
Some jobs only take a few seconds where others can take a few hours.

I could also see the gantt chart used to show meetings in day.

Moving Steps vertically?

Hi,

first of all: very nice add-on!

Is it possible to move steps vertically by dragging them?

Thanks,
Markus

[ 0.9.3 ] Removing and adding a step again

This issue wasn't reproducible in 0.9.1 but started to occur in 0.9.3

Consider an example of following code:

    private static final Step step = new Step();
    static {
        SubStep subStep = new SubStep();
        Date start = new Date();
        subStep.setStartDate( start );

        Date end = new Date();
        end.setDate( start.getDate() + 1 );

        subStep.setEndDate( end );
        subStep.setStyleName( "APPSubStep SomeStyle" );

        step.setStyleName( "APPStep" );
        step.addSubStep( subStep );
    }

some UI method:

gantt.removeSteps();
gantt.addStep( step );
gantt.removeSteps();
gantt.addStep( step );

After these actions, gantt contains the step with styling broken (no styling enforced by 'APPStep APPSubStep SomeStyle' work).

In 0.9.1 it worked.

(actually after this remove/add we faced even more problems than styling, however they were harder to reproduce. I hope fixing the reason of styling issue might fix the other problems).

Version 0.9.3 not working in Vaadin 7.7.0

Since migrating to Vaadin 7.7.0, addon is not working anymore. It complains about missing libraries :

java.lang.NoClassDefFoundError: com/google/gwt/i18n/client/constants/TimeZoneConstants
java.lang.NoClassDefFoundError: com/google/gwt/i18n/shared/Localizable

Regards

Problems with appearance after removal layout.

I work with a demo. Added to the VerticalLayout components. After removing any changes appear to have been below components my not drawn layer (including Gantt).

P.S. such problem occurs only when the chart displayed Predecessors line

IE11.20.10586.0 missing 1 day in header

In Windows10 Home, IE11.20.10586.0 when we select odd amount of days for Gantt, the last day is missed.
See screenshot
cf4826aaf5571a4cbac87d2f10f40a93e304ad6f228f66a4b6 pimgpsh_fullsize_distr

(note : bars for the whole period are also drawn in wrong way for such periods)

Reindeer Theme error

If we try to add gantt using Reindeer theme, the component does not work on screen right.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.