Search in sources :

Example 1 with UnorderedList

use of gwt.material.design.client.ui.html.UnorderedList in project gwt-material by GwtMaterialDesign.

the class MaterialSliderTest method testSliderItems.

public void testSliderItems() {
    // given
    MaterialSlider slider = getWidget();
    // when / then
    assertNotNull(slider.getWidget(0));
    assertTrue(slider.getWidget(0) instanceof UnorderedList);
    UnorderedList ul = (UnorderedList) slider.getWidget(0);
    assertTrue(ul.getElement().hasClassName(CssName.SLIDES));
    // Check the children of Slides Container (Unordered List)
    assertEquals(5, ul.getChildren().size());
    for (Widget w : ul.getChildren()) {
        assertTrue(w instanceof MaterialSlideItem);
        MaterialSlideItem item = (MaterialSlideItem) w;
        assertTrue(item.getWidget(0) instanceof MaterialImage);
        assertTrue(item.getWidget(1) instanceof MaterialSlideCaption);
    }
}
Also used : Widget(com.google.gwt.user.client.ui.Widget) UnorderedList(gwt.material.design.client.ui.html.UnorderedList)

Example 2 with UnorderedList

use of gwt.material.design.client.ui.html.UnorderedList in project gwt-material by GwtMaterialDesign.

the class MaterialCollapsibleBody method add.

@Override
public void add(final Widget child) {
    if (child instanceof UnorderedList) {
        for (Widget w : (UnorderedList) child) {
            if (w instanceof ListItem) {
                w.getElement().getStyle().setDisplay(Style.Display.BLOCK);
                provideActiveClickHandler(w);
            }
        }
    } else if (child instanceof ListItem) {
        child.getElement().getStyle().setDisplay(Style.Display.BLOCK);
        provideActiveClickHandler(child);
    }
    super.add(child);
}
Also used : Widget(com.google.gwt.user.client.ui.Widget) MaterialWidget(gwt.material.design.client.base.MaterialWidget) UnorderedList(gwt.material.design.client.ui.html.UnorderedList) ListItem(gwt.material.design.client.ui.html.ListItem)

Example 3 with UnorderedList

use of gwt.material.design.client.ui.html.UnorderedList in project gwt-material by GwtMaterialDesign.

the class MaterialAnimation method animate.

public void animate(Widget widget, Functions.Func callback) {
    if (widget != null) {
        this.widget = widget;
    } else {
        throw new NullPointerException("Cannot animate on a null widget.");
    }
    if (startTimer != null) {
        // Exit early since we are already animating.
        return;
    }
    final JsMaterialElement element = $(widget.getElement());
    element.css("animation-duration", duration + "ms");
    element.css("-webkit-animation-duration", duration + "ms");
    switch(transition) {
        case SHOW_STAGGERED_LIST:
            if (widget instanceof UnorderedList) {
                UnorderedList ul = (UnorderedList) widget;
                for (Widget li : ul) {
                    if (li instanceof ListItem) {
                        li.getElement().getStyle().setOpacity(0);
                    }
                }
            }
            break;
        case SHOW_GRID:
            widget.getElement().getStyle().setOpacity(0);
            break;
        default:
            break;
    }
    startTimer = new Timer() {

        @Override
        public void run() {
            switch(transition) {
                case SHOW_STAGGERED_LIST:
                    JsMaterialElement.showStaggeredList(element);
                    break;
                case FADE_IN_IMAGE:
                    JsMaterialElement.fadeInImage(element);
                    break;
                case SHOW_GRID:
                    widget.addStyleName(CssName.DISPLAY_ANIMATION);
                    JsMaterialElement.showGrid(element);
                    break;
                case CLOSE_GRID:
                    widget.addStyleName(CssName.DISPLAY_ANIMATION);
                    JsMaterialElement.closeGrid(element);
                    break;
                default:
                    // For core animation components
                    if (infinite) {
                        widget.addStyleName(CssName.INFINITE);
                    }
                    widget.addStyleName("animated " + transition.getCssName());
                    // Only start the end timer if its not already active.
                    if (endTimer == null) {
                        endTimer = new Timer() {

                            @Override
                            public void run() {
                                if (callback != null) {
                                    callback.call();
                                }
                                if (!infinite) {
                                    $(element).removeClass("animated " + transition.getCssName());
                                }
                                endTimer = null;
                                startTimer = null;
                            }
                        };
                        endTimer.schedule(duration);
                    }
                    break;
            }
        }
    };
    if (delay < 1) {
        startTimer.run();
    } else {
        startTimer.schedule(delay);
    }
    widget.removeStyleName(CssName.MATERIALIZE_CSS);
}
Also used : JsMaterialElement(gwt.material.design.client.js.JsMaterialElement) Timer(com.google.gwt.user.client.Timer) Widget(com.google.gwt.user.client.ui.Widget) UnorderedList(gwt.material.design.client.ui.html.UnorderedList) ListItem(gwt.material.design.client.ui.html.ListItem)

Aggregations

Widget (com.google.gwt.user.client.ui.Widget)3 UnorderedList (gwt.material.design.client.ui.html.UnorderedList)3 ListItem (gwt.material.design.client.ui.html.ListItem)2 Timer (com.google.gwt.user.client.Timer)1 MaterialWidget (gwt.material.design.client.base.MaterialWidget)1 JsMaterialElement (gwt.material.design.client.js.JsMaterialElement)1