Example usage for com.google.gwt.query.client GQuery each

List of usage examples for com.google.gwt.query.client GQuery each

Introduction

In this page you can find the example usage for com.google.gwt.query.client GQuery each.

Prototype

public GQuery each(Function... f) 

Source Link

Document

Run one or more Functions over each element of the GQuery.

Usage

From source file:com.pronoiahealth.olhie.client.pages.bookcase.widgets.BookCaseContainerWidget.java

License:Open Source License

/**
 * Configure the update when a users moves a book in the display and
 * configure the button click on a book display.
 *//*w w w  .  j a  v  a 2 s . com*/
private void config() {
    // Configure the sortable container
    // JSONObject obj = new JSONObject();
    // configSortable(this, sortableContainer, obj.getJavaScriptObject());

    // Configure sortable
    GQuery sortableContainerQry = $(sortableContainer);
    sortableContainerQry.as(Ui).sortable().bind("sortupdate", new Function() {
        @Override
        public boolean f(Event e, Object data) {
            GQuery lstQry = $(sortableContainer).find(".ui-state-default");
            int size = lstQry.length();
            Map<String, Integer> map = new HashMap<String, Integer>();
            for (int i = 0; i < size; i++) {
                com.google.gwt.dom.client.Element ret = lstQry.get(i);
                GQuery retQry = $(ret).find(".bookCase-Detail-Button");
                String val = retQry.attr("userBookRelationshipId");
                map.put(val, Integer.valueOf(i));
            }

            // Tell the server to update the data
            bookcaseBookWidgetReorderEvent.fire(new BookcaseBookWidgetReorderEvent(map));

            // Event propagation stops here
            return false;
        }
    });

    // Configure the click events, bind the bookClickFunction to each
    // element
    GQuery sortableQry = sortableContainerQry.find(".bookCase-Detail-Button");
    sortableQry.each(new Function() {
        @Override
        public void f(com.google.gwt.dom.client.Element e) {
            $(e).bind(Event.ONCLICK, new Function() {
                @Override
                public boolean f(Event e) {
                    // Fire the event which will get the clicked book for
                    // display
                    String bookId = $(e).attr("bookId");
                    if (bookId != null && bookId.length() > 0) {
                        bookListBookSelectedEvent.fire(new BookcaseBookListBookSelectedEvent(bookId));
                    }
                    return false;
                }
            });
        }
    });
}

From source file:com.pronoiahealth.olhie.client.pages.bookcase.widgets.BookCaseContainerWidget.java

License:Open Source License

/**
 * Clears book item widgets//from  w  w  w  . j  a va  2s  .c om
 */
private void disposeBookCaseDraggableBookWidgets() {
    if (sortableContainer != null && sortableContainer.hasChildNodes()) {
        GQuery sortableContainerQry = $(sortableContainer);

        // Unbind the click events
        GQuery sortableQry = sortableContainerQry.find(".bookCase-Detail-Button");
        sortableQry.each(new Function() {
            @Override
            public void f(com.google.gwt.dom.client.Element e) {
                $(e).unbind(Event.ONCLICK);
            }
        });

        // Unbind the sortable
        sortableContainerQry.as(Ui).sortable().unbind("sortupdate");
        sortableContainerQry.as(Ui).sortable().destroy();

        // Remove all the widgets
        int cnt = DOM.getChildCount(sortableContainer);
        for (int i = 0; i < cnt; i++) {
            Element e = DOM.getChild(sortableContainer, i);
            EventListener listener = DOM.getEventListener((com.google.gwt.user.client.Element) e);
            // No listener attached to the element, so no widget exist for
            // this element
            if (listener != null && listener instanceof BookCaseDraggableBookWidget) {
                bookCaseDraggableBookWidgetDisposer.dispose((BookCaseDraggableBookWidget) listener);
            }
        }
    }

    // Destroy physical
    Node node = null;
    while ((node = sortableContainer.getFirstChild()) != null) {
        sortableContainer.removeChild(node);
    }
}

From source file:com.pronoiahealth.olhie.client.widgets.booklist3d.BookList3D.java

License:Open Source License

/**
 * Used to add books in after the initial display
 * //from   ww w.  ja v  a2s.c o m
 * @param bookDiv
 */
public void attachEventsToLst() {
    this.books = $("#bk-list > li > div.bk-book", bookList.getParentElement());
    this.currentBookCnt = books.length();

    books.each(new Function() {
        @Override
        public void f(Element e) {
            final GQuery book = $(e);
            final GQuery other = books.not(book);
            final GQuery parent = book.parent();
            final GQuery page = book.children("div.bk-page");
            final GQuery bookview = parent.find("button.bk-bookview");
            final GQuery flipAction = parent.find("button.bk-bookback");
            final GQuery content = page.children("div.bk-content");
            final GQuery toc = page.find("div.bk-toc");
            final GQuery tocPageMyCollectionsBtn = toc.find("a.bk-tocPage-myCollectionsBtn");
            final GQuery tocPageCommentRatingBtn = toc.find("a.bk-tocPage-commentRatingBtn");
            final GQuery tocItems = page.find("div.bk-toc-item");
            final GQuery tocLinks = page.find("div.bk-toc-link");
            final GQuery downloadContentBtns = page.find("a.bk-download-btn");
            final GQuery viewContentBtns = page.find("a.bk-view-btn");
            final GQuery linkContentBtns = page.find("a.bk-link-btn");
            final IntHolder current = new IntHolder();

            // Book Id
            final String bookId = book.attr("bookId");

            // Bind the call back
            book.bind(Event.ONCLICK, new Function() {
                @Override
                public boolean f(Event e) {
                    checkBookIsAuthorRequestEvent.fire(new CheckBookIsAuthorRequestEvent(bookId));
                    return false;
                }
            });

            flipAction.bind(Event.ONCLICK, new Function() {
                @Override
                public boolean f(Event e) {
                    // Toggle the button
                    if (flipAction.hasClass("bk-bookback-pressed") == true) {
                        flipAction.removeClass("bk-bookback-pressed");
                    } else {
                        flipAction.addClass("bk-bookback-pressed");
                    }

                    bookview.removeClass("bk-active");
                    boolean flipVal = false;
                    Object flipObj = book.data("flip");
                    if (flipObj != null) {
                        flipVal = (Boolean) flipObj;
                    }
                    if (flipVal == true) {
                        book.data("opened", false).data("flip", false);
                        book.removeClass("bk-viewback");
                        book.addClass("bk-bookdefault");
                    } else {
                        book.data("opened", false).data("flip", true);
                        book.removeClass("bk-viewinside").removeClass("bk-bookdefault");
                        book.addClass("bk-viewback");
                    }
                    return true;
                }
            });

            bookview.bind(Event.ONCLICK, new Function() {
                @Override
                public boolean f(Event e) {

                    // If the view back cover was pressed need to reset
                    // the button
                    if (flipAction.hasClass("bk-bookback-pressed") == true) {
                        flipAction.removeClass("bk-bookback-pressed");
                    }

                    GQuery thisPt = $(e);
                    other.data("opened", false);
                    other.removeClass("bk-viewinside");
                    GQuery otherParent = other.parent().css(CSS.ZINDEX.with(0));
                    otherParent.find("button.bk-bookview").removeClass("bk-active");

                    if (!other.hasClass("bk-viewback")) {
                        other.addClass("bk-bookdefault");
                    }

                    boolean openedVal = false;
                    Object openedObj = book.data("opened");
                    if (openedObj != null) {
                        openedVal = (Boolean) openedObj;
                    }
                    if (openedVal == true) {
                        thisPt.removeClass("bk-active");
                        book.data("opened", false).data("flip", false);
                        book.removeClass("bk-viewinside");
                        book.addClass("bk-bookdefault");
                    } else {
                        thisPt.addClass("bk-active");
                        book.data("opened", true).data("flip", false);
                        book.removeClass("bk-viewback").removeClass("bk-bookdefault");
                        book.addClass("bk-viewinside");
                        parent.css(CSS.ZINDEX.with(currentBookCnt++));
                        current.setIntVal(0);
                        content.removeClass("bk-content-current").eq(current.getIntVal())
                                .addClass("bk-content-current");
                    }
                    return true;
                }
            });

            // If it is a btn-success buton we want to add the book to the
            // users collection, otherwise remove for the collection.
            // Clear results container
            tocPageMyCollectionsBtn.bind(Event.ONCLICK, new Function() {
                @Override
                public boolean f(Event e) {
                    GQuery anchor = $(e);
                    boolean addToCollection = anchor.hasClass("btn-success");
                    adjustMyCollection(bookId, addToCollection);
                    return false;
                }
            });

            tocPageCommentRatingBtn.bind(Event.ONCLICK, new Function() {
                @Override
                public boolean f(Event e) {
                    addUpdateComment(bookId);
                    return false;
                }
            });

            if (content.length() > 1) {
                GQuery navPrev = $("<span class=\"bk-page-prev\">&lt;</span>");
                GQuery navNext = $("<span class=\"bk-page-next\">&gt;</span>");
                page.append($("<nav></nav>").append(navPrev).append(navNext));

                navPrev.bind(Event.ONCLICK, new Function() {
                    @Override
                    public boolean f(Event e) {
                        if (current.getIntVal() > 0) {
                            current.subOne();
                            content.removeClass("bk-content-current").eq(current.getIntVal())
                                    .addClass("bk-content-current");
                        }
                        return false;
                    }
                });

                navNext.bind(Event.ONCLICK, new Function() {
                    @Override
                    public boolean f(Event e) {
                        if (current.getIntVal() < content.length() - 1) {
                            current.plusOne();
                            content.removeClass("bk-content-current").eq(current.getIntVal())
                                    .addClass("bk-content-current");
                        }
                        return false;
                    }
                });

                // TOC items
                tocItems.each(new Function() {
                    @Override
                    public void f(Element e) {
                        GQuery item = $(e);
                        item.bind(Event.ONCLICK, new Function() {
                            @Override
                            public boolean f(Event e) {
                                GQuery thisItem = $(e);
                                String refStr = thisItem.attr("item-ref");
                                int refInt = Integer.parseInt(refStr);
                                if (refInt <= content.length() - 1) {
                                    current.setIntVal(refInt);
                                    content.removeClass("bk-content-current").eq(current.getIntVal())
                                            .addClass("bk-content-current");
                                }
                                return false;
                            }
                        });
                    }
                });

                // TOC link
                tocLinks.each(new Function() {
                    @Override
                    public void f(Element e) {
                        GQuery item = $(e);
                        item.bind(Event.ONCLICK, new Function() {
                            @Override
                            public boolean f(Event e) {
                                current.setIntVal(0);
                                content.removeClass("bk-content-current").eq(current.getIntVal())
                                        .addClass("bk-content-current");
                                return false;
                            }
                        });
                    }
                });

                // Link buttons
                linkContentBtns.each(new Function() {
                    @Override
                    public void f(Element e) {
                        GQuery btn = $(e);
                        btn.bind(Event.ONCLICK, new Function() {
                            @Override
                            public boolean f(Event e) {
                                GQuery thisAnchor = $(e);
                                String href = thisAnchor.attr("href");
                                Window.open(href, "_black", "");
                                return false;
                            }
                        });
                    }
                });

                // Download content buttons
                downloadContentBtns.each(new Function() {
                    @Override
                    public void f(Element e) {
                        GQuery btn = $(e);
                        btn.bind(Event.ONCLICK, new Function() {
                            @Override
                            public boolean f(Event e) {
                                GQuery thisAnchor = $(e);
                                String assetId = thisAnchor.attr("bookassetid");
                                downloadBookAssetEvent.fire(new DownloadBookAssetEvent(assetId));
                                return false;
                            }
                        });
                    }
                });

                // view content buttons
                viewContentBtns.each(new Function() {
                    @Override
                    public void f(Element e) {
                        GQuery btn = $(e);

                        // fire action if they are not disabled
                        btn.bind(Event.ONCLICK, new Function() {
                            @Override
                            public boolean f(Event e) {
                                GQuery thisAnchor = $(e);
                                String disabledStr = thisAnchor.attr("disabled");
                                boolean disabled = (disabledStr != null ? Boolean.parseBoolean(disabledStr)
                                        : false);
                                if (disabled == false) {
                                    String assetId = thisAnchor.attr("bookassetid");
                                    String contentTypeKey = thisAnchor.attr("viewable-content-key");
                                    showViewBookassetDialogEvent
                                            .fire(new ShowViewBookassetDialogEvent(assetId, contentTypeKey));
                                }
                                return false;
                            }
                        });
                    }
                });
            }
        }
    });

    // Add Tooltips
    $("[rel=tooltip]", bookList.getParentElement()).as(Tooltip).tooltip();
}

From source file:gwtquery.plugins.draggable.client.Draggable.java

License:Apache License

@Override
protected boolean mouseStart(Element currentDraggable, GqEvent event) {

    boolean result = false;

    DraggableHandler dragHandler = getHandler(currentDraggable);
    DraggableOptions options = dragHandler.getOptions();
    // if the currentDraggable have not the same scope has the other selected
    // draggable or doesn't accept multi selection, unselect all
    if (!canBeSelected(currentDraggable, dragHandler) || !options.isMultipleSelection()) {
        unselectAll();/* ww  w  .  j a  v a2  s .  c  o  m*/
    }

    // if the currentDraggable is not yet selected and can be selected,
    // select it
    if (!selectedDraggables.contains(currentDraggable) && canBeSelected(currentDraggable, dragHandler)
            && options.isMultipleSelection()) {
        GWT.log("select element");
        select(currentDraggable, options.getSelectedClassName());
    }

    // select other draggable elements if select options is set
    SelectFunction selectFunction = options.getSelect();
    if (selectFunction != null) {
        GQuery followers = selectFunction.selectElements();
        followers.each(new Function() {
            @Override
            public void f(Element e) {
                DraggableHandler handler = DraggableHandler.getInstance(e);
                if (handler != null) {
                    GWT.log("Select automatic selected element " + e.getId());
                    select(e, handler.getOptions().getSelectedClassName());
                }
            }
        });
    }

    // first call mouseStart for the initial draggable
    DragContext ctx = new DragContext(currentDraggable, currentDraggable, selectedDraggables);
    result |= mouseStartImpl(ctx, event);

    // call mouseStartImpl for the others
    for (Element draggable : selectedDraggables) {
        if (draggable != currentDraggable) {
            ctx = new DragContext(draggable, currentDraggable, selectedDraggables);
            result |= mouseStartImpl(ctx, event);
        }
    }

    return result;
}

From source file:org.bonitasoft.web.toolkit.client.ui.component.table.Table.java

License:Open Source License

private void addChangeEventHandler(GQuery checkboxes) {
    checkboxes.each(new Function() {

        @Override//from w  ww  .  j  a v a2 s  . c  om
        public void f(final Element k) {
            final GQuery checkbox = $(k);
            checkbox.change(new Function() {

                @Override
                public boolean f(Event e) {
                    processEvent($(e));
                    return true;
                }
            });

            // fix click propagation to line
            checkbox.click(new Function() {

                @Override
                public boolean f(final Event e) {
                    e.stopPropagation();
                    checkbox.trigger(Event.ONCHANGE);
                    return true;
                }
            });

        }
    });
}