Example usage for org.apache.wicket.extensions.ajax.markup.html IndicatingAjaxFallbackLink IndicatingAjaxFallbackLink

List of usage examples for org.apache.wicket.extensions.ajax.markup.html IndicatingAjaxFallbackLink IndicatingAjaxFallbackLink

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html IndicatingAjaxFallbackLink IndicatingAjaxFallbackLink.

Prototype

public IndicatingAjaxFallbackLink(final String id) 

Source Link

Document

Constructor

Usage

From source file:de.jetwick.ese.ui.FacetPanel.java

License:Apache License

public FacetPanel(String id) {
    super(id);/*from  w w  w  . ja v  a2 s  .  co m*/

    tr.put("userName", "User");

    tagView = new ListView("filterNames", normalFacetFields) {

        @Override
        public void populateItem(final ListItem item) {
            final Entry<String, List<FacetHelper>> entry = (Entry<String, List<FacetHelper>>) item
                    .getModelObject();

            String keyValue = translate(entry.getKey());
            String filter = getFilterName(entry.getKey());
            if (filter != null) {
                item.add(new LabeledLink("filterName", "< " + keyValue) {

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        onFacetChange(target, entry.getKey(), null, true);
                    }
                }.add(new AttributeAppender("title", new Model("Remove all filters from '" + keyValue + "'"),
                        " ")));
            } else
                item.add(new Label("filterName", keyValue));

            item.add(new ListView("filterValues", entry.getValue()) {

                @Override
                protected void populateItem(ListItem li) {
                    final FacetHelper h = (FacetHelper) li.getModelObject();

                    final String filter = h.getFilter();
                    final boolean selected = alreadyFiltered.contains(filter);

                    Link link = new IndicatingAjaxFallbackLink("filterValueLink") {

                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            onFacetChange(target, h.key, h.value, selected);
                        }
                    };
                    // change style if filter is selected
                    if (selected)
                        link.add(new AttributeAppender("class", new Model("filter-rm"), " "));
                    else
                        link.add(new AttributeAppender("class", new Model("filter-add"), " "));

                    link.add(new Label("filterValue", h.displayName));

                    // not clickable if filter would result in 0 docs
                    if (h.count == 0) {
                        link.setEnabled(false);
                        link.add(new AttributeAppender("class", new Model("gray"), " "));
                    }

                    li.add(new Label("filterCount", " (" + h.count + ")"));
                    li.add(link);
                }
            });
        }
    };

    add(tagView);
}

From source file:de.jetwick.ui.FacetPanel.java

License:Apache License

public FacetPanel(String id) {
    super(id);/*from   w  w w .  jav  a 2s  .  co  m*/

    // No Massive Tweeter
    tr.put(USER, "Tweeters");
    tr.put("loc", "Location");
    tr.put(DATE, "Date");
    tr.put(LANG, "Language");
    tr.put(IS_RT, "Content");
    tr.put(IS_RT + ":true", "retweet");
    tr.put(IS_RT + ":false", "original");

    tr.put(DUP_COUNT, "Duplicates");
    tr.put(FILTER_NO_DUPS, "without");
    tr.put(FILTER_ONLY_DUPS, "only duplicated");

    tr.put(URL_COUNT, "Links");
    tr.put(FILTER_URL_ENTRY, "with");
    tr.put(FILTER_NO_URL_ENTRY, "without");

    tr.put(RT_COUNT, "Retweets");
    tr.put(RT_COUNT + ":[5 TO *]", "5 and more");
    tr.put(RT_COUNT + ":[20 TO *]", "20 and more");
    tr.put(RT_COUNT + ":[50 TO *]", "50 and more");

    tr.put(QUALITY, "Spam");
    tr.put(FILTER_NO_SPAM, "without");
    tr.put(FILTER_SPAM, "only spam");

    tr.put(LANG + ":" + UNKNOWN_LANG, "Other");
    tr.put(LANG + ":" + DE, "Deutsch");
    tr.put(LANG + ":" + EN, "English");
    tr.put(LANG + ":" + NL, "Nederlandse");
    tr.put(LANG + ":" + RU, "P??");
    tr.put(LANG + ":" + ES, "Espaol");
    // backward compatibility
    tr.put(LANG + ":sp", "Espaol");
    tr.put(LANG + ":" + FR, "Franais");
    tr.put(LANG + ":" + PT, "Portugus");

    tagView = new ListView("filterNames", normalFacetFields) {

        @Override
        public void populateItem(final ListItem item) {
            final Entry<String, List<FacetHelper>> entry = (Entry<String, List<FacetHelper>>) item
                    .getModelObject();

            String dtVal = translate(entry.getKey());
            String filter = getFilterName(entry.getKey());
            if (filter != null) {
                item.add(new LabeledLink("filterName", "< " + dtVal) {

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        onRemoveAllFilter(target, entry.getKey());
                    }
                }.add(new AttributeAppender("title", new Model("Remove all filters from '" + dtVal + "'"),
                        " ")));
            } else
                item.add(new Label("filterName", dtVal));

            item.add(new ListView("filterValues", entry.getValue()) {

                @Override
                protected void populateItem(ListItem li) {
                    final FacetHelper h = (FacetHelper) li.getModelObject();
                    final boolean selected = isAlreadyFiltered(h.getFilter());
                    final boolean excluded = isAlreadyExcluded(h.getFilter());
                    Link link = new IndicatingAjaxFallbackLink("filterValueLink") {

                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            if (selected)
                                onFilterChange(target, h.key, h.value, null);
                            else
                                onFilterChange(target, h.key, h.value, false);
                        }
                    };
                    Link excludeLink = new IndicatingAjaxFallbackLink("filterExcludeLink") {

                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            if (excluded)
                                onFilterChange(target, h.key, h.value, null);
                            else
                                onFilterChange(target, h.key, h.value, true);
                        }
                    };
                    li.add(new Label("filterCount", " (" + h.count + ")"));
                    li.add(link);
                    li.add(excludeLink);

                    /* exlude does not work for filter queries like RT_COUNT.contains(h.key)*/
                    if (USER.contains(h.key) || LANG.contains(h.key))
                        excludeLink.setVisible(true);
                    else
                        excludeLink.setVisible(false);

                    if (excluded)
                        link.add(new AttributeAppender("class", new Model("filter-ex"), " "));

                    // change style if filter is selected
                    if (selected)
                        link.add(new AttributeAppender("class", new Model("filter-rm"), " "));
                    else
                        link.add(new AttributeAppender("class", new Model("filter-add"), " "));

                    // TODO strike through if filter is excluded

                    link.add(new Label("filterValue", h.displayName));

                    // not clickable if filter would result in 0 docs
                    if (h.count == 0) {
                        link.setEnabled(false);
                        link.add(new AttributeAppender("class", new Model("gray"), " "));
                    }
                }
            });
        }
    };

    add(tagView);
}

From source file:de.jetwick.ui.OneTweet.java

License:Apache License

public OneTweet init(IModel<JTweet> model, boolean showUser) {
    setOutputMarkupId(true);//from  w  w w.j a  v a  2s.  c  om
    final JTweet tweet = model.getObject();
    if (tweet == null) {
        setVisible(false);
        return this;
    }
    final JUser user = tweet.getFromUser();

    if (showUser) {
        LabeledLink userNameLink = new LabeledLink("userNameLink", user.getScreenName() + ":", false) {

            @Override
            public void onClick(AjaxRequestTarget target) {
                onUserClick(user.getScreenName());
            }
        };
        add(userNameLink);
    } else
        add(new Label("userNameLink", ""));

    WebMarkupContainer spamIndicator = new WebMarkupContainer("spamIndicator");
    spamIndicator.setVisible(tweet.isSpam());
    add(spamIndicator);

    //        final DialogUtilsBehavior dialogUtilsBehavior = new DialogUtilsBehavior();
    //        add(dialogUtilsBehavior);
    final Label label = new Label("tweetText", new Model<String>() {

        int counter = 0;

        @Override
        public String getObject() {
            return new Extractor() {

                @Override
                public String createTagMarkup(String tag, String cleanTag) {
                    //                        String url = Helper.TSURL + cleanTag;
                    return "<a class=\"i-tw-link tw-tag\" " + "clean=\"" + cleanTag + "\" " + "tag=\"" + tag
                            + " \" " + ">" + tag + "</a>";
                }
            }.setTweet(tweet).setText(translate(tweet)).run().toString();
        }
    });
    label.setEscapeModelStrings(false);
    label.setOutputMarkupId(true);
    add(label);

    ExternalLink dateLink = new ExternalLink("tweetDate",
            Helper.toTwitterHref(user.getScreenName(), tweet.getTwitterId()));

    String str = "status";
    if (tweet.getCreatedAt() != null)
        str = Helper.toSimpleDateTime(tweet.getCreatedAt());
    Label dateLabel = new Label("tweetDateLabel", str);
    dateLink.add(dateLabel);
    add(dateLink);

    add(new ExternalLink("tweetFav", Helper.twitterIntentFav(tweet.getTwitterId())));

    add(new ExternalLink("tweetReply", Helper.twitterIntentReply(tweet.getTwitterId())));

    add(new AjaxFallbackLink("tweetRetweet") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            onRetweet(tweet, target);
        }
    });
    IndicatingAjaxFallbackLink inReplyOfButton = new IndicatingAjaxFallbackLink("inreplyof") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (target != null) {
                subTweets.clear();
                target.addComponent(OneTweet.this);
                if (!inReplyOfClicked)
                    subTweets.addAll(onInReplyOfClick(tweet.getInReplyTwitterId()));

                inReplyOfClicked = !inReplyOfClicked;
            }
        }
    };

    add(inReplyOfButton);
    if (JTweet.isDefaultInReplyId(tweet.getInReplyTwitterId()))
        inReplyOfButton.setVisible(false);

    IndicatingAjaxFallbackLink rtLink = new IndicatingAjaxFallbackLink("retweeters") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (target != null) {
                subTweets.clear();
                target.addComponent(OneTweet.this);
                if (!rtClicked)
                    subTweets.addAll(onReplyClick(tweet.getTwitterId(), true));

                rtClicked = !rtClicked;
            }
        }
    };

    add(rtLink.add(new Label("retweetersLabel", "retweets " + tweet.getRetweetCount())));
    if (tweet.getRetweetCount() == 0)
        rtLink.setVisible(false);

    IndicatingAjaxFallbackLink replyLink = new IndicatingAjaxFallbackLink("replies") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (target != null) {
                subTweets.clear();
                target.addComponent(OneTweet.this);
                if (!rpClicked)
                    subTweets.addAll(onReplyClick(tweet.getTwitterId(), false));

                rpClicked = !rpClicked;
            }
        }
    };

    add(replyLink
            .add(new Label("repliesLabel", "replies " + (tweet.getReplyCount() - tweet.getRetweetCount()))));
    if (tweet.getReplyCount() == tweet.getRetweetCount())
        replyLink.setVisible(false);

    add(new AjaxFallbackLink("similarLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            onFindSimilarClick(tweet, target);
        }
    });

    add(new IndicatingAjaxFallbackLink("translateLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (target == null)
                return;

            clickedTranslate = !clickedTranslate;
            //translate(tweet, label);
            target.addComponent(label);
        }
    });

    ListView subTweetsView = new ListView("subtweets", new PropertyModel(this, "subTweets")) {

        @Override
        public void populateItem(final ListItem item) {
            item.add(new OneTweet("suboneTweet") {

                @Override
                public Collection<JTweet> onReplyClick(long id, boolean retweet) {
                    return OneTweet.this.onReplyClick(id, retweet);
                }

                @Override
                public void onUserClick(String screenName) {
                    OneTweet.this.onUserClick(screenName);
                }

                @Override
                public void onFindSimilarClick(JTweet tweet, AjaxRequestTarget target) {
                    OneTweet.this.onFindSimilarClick(tweet, target);
                }

                @Override
                public Collection<JTweet> onInReplyOfClick(long id) {
                    return OneTweet.this.onInReplyOfClick(id);
                }
            }.init(item.getModel(), true).setLanguage(language));
        }
    };
    add(subTweetsView);

    return this;
}

From source file:de.jetwick.ui.SavedSearchPanel.java

License:Apache License

public SavedSearchPanel(String id) {
    super(id);/*from   w w  w. ja v a  2  s. c  o  m*/

    tr.put(SAVED_SEARCHES, "Saved Searches");
    Link saveSearch = new IndicatingAjaxFallbackLink("saveSearch") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            SavedSearchPanel.this.onSave(target, new Date().getTime());
        }
    };
    add(saveSearch);

    AjaxFallbackLink link = new IndicatingAjaxFallbackLink("saveInfo") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            SavedSearchPanel.this.onSave(target, new Date().getTime());
        }

        @Override
        public boolean isVisible() {
            return isInitialized && savedSearches.isEmpty();
        }
    };
    add(link.setOutputMarkupId(true));

    add(new WebMarkupContainer("indicatorImage") {

        @Override
        public boolean isVisible() {
            return !isInitialized;
        }
    }.setOutputMarkupId(true));

    // don't know how to utilize IAjaxIndicatorAware + getAjaxIndicatorMarkupId() { return indicator.getMarkupId();
    //add(indicator);

    savedSearchesView = new ListView("filterValues", savedSearches) {

        @Override
        protected void populateItem(ListItem li) {
            final FacetHelper<Long> h = (FacetHelper<Long>) li.getModelObject();
            long tmp = h.value;
            final long ssId = tmp;
            Link link = new IndicatingAjaxFallbackLink("filterValueLink") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    SavedSearchPanel.this.onClick(target, ssId);
                }
            };

            String name = h.displayName;
            if (name.length() > 20)
                name = name.substring(0, 20) + "..";
            else if (name.length() < 1)
                name = "<empty>";

            if (ssId == 0)
                name = "last:" + name;

            link.add(new Label("filterValue", name));
            link.add(new AttributeAppender("title", true, new Model(h.displayName), " "));
            Label label4count = new Label("filterCount", " (" + h.count + ")");
            if (h.count < 1) {
                link.add(new AttributeAppender("class", new Model("gray"), " "));
                label4count.add(new AttributeAppender("class", new Model("gray"), " "));
            }

            li.add(label4count);
            li.add(link);

            final Dialog dialog = new Dialog("confirmation").setWidth(400)
                    .setTitle("Delete Saved Search " + name + "?");
            dialog.add(new AjaxFallbackLink("button") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    dialog.close(target);
                    SavedSearchPanel.this.onRemove(target, ssId);
                }
            });
            li.add(dialog);
            Link removeLink = new AjaxFallbackLink("removeLink") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    if (target != null)
                        dialog.open(target);
                }
            };
            li.add(removeLink);
        }
    };
    add(savedSearchesView);

    // execute one time
    add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(0.1)) {

        @Override
        protected void onPostProcessTarget(AjaxRequestTarget target) {
            updateSSCounts(target);
            isInitialized = true;
            stop();
        }
    });

    // execute forever
    add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(60)) {

        @Override
        protected void onPostProcessTarget(AjaxRequestTarget target) {
            // update count of all queries
            updateSSCounts(target);
        }
    });
}

From source file:org.geoserver.web.wicket.browser.FileDataView.java

License:Open Source License

public FileDataView(String id, FileProvider fileProvider) {
    super(id);// w ww .  j av  a2 s.  c o m

    this.provider = fileProvider;
    //        provider.setDirectory(currentPosition);
    //        provider.setSort(new SortParam(NAME, true));

    final WebMarkupContainer table = new WebMarkupContainer("fileTable");
    table.setOutputMarkupId(true);
    add(table);

    DataView fileTable = new DataView("files", fileProvider) {

        @Override
        protected void populateItem(final Item item) {
            File file = (File) item.getModelObject();

            // odd/even alternate style
            item.add(new SimpleAttributeModifier("class", item.getIndex() % 2 == 0 ? "even" : "odd"));

            // navigation/selection links
            AjaxFallbackLink link = new IndicatingAjaxFallbackLink("nameLink") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    linkNameClicked((File) item.getModelObject(), target);
                }

            };
            link.add(new Label("name", item.getModel()) {
                @Override
                public IConverter getConverter(Class type) {
                    return FILE_NAME_CONVERTER;
                }
            });
            item.add(link);

            // last modified and size labels
            item.add(new Label("lastModified", item.getModel()) {
                @Override
                public IConverter getConverter(Class type) {
                    return FILE_LASTMODIFIED_CONVERTER;
                }
            });
            item.add(new Label("size", item.getModel()) {
                @Override
                public IConverter getConverter(Class type) {
                    return FILE_SIZE_CONVERTER;
                }
            });
        }

    };

    fileContent = new WebMarkupContainer("fileContent") {
        @Override
        protected void onComponentTag(ComponentTag tag) {
            if (tableHeight != null) {
                tag.getAttributes().put("style", "overflow:auto; height:" + tableHeight);
            }
        }
    };

    fileContent.add(fileTable);

    table.add(fileContent);
    table.add(new OrderByBorder("nameHeader", FileProvider.NAME, fileProvider));
    table.add(new OrderByBorder("lastModifiedHeader", FileProvider.LAST_MODIFIED, fileProvider));
    table.add(new OrderByBorder("sizeHeader", FileProvider.SIZE, fileProvider));
}

From source file:org.sakaiproject.sitestats.tool.wicket.widget.WidgetTabs.java

License:Educational Community License

protected WebMarkupContainer newLink(String linkId, final int index) {
    return new IndicatingAjaxFallbackLink(linkId) {
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            setSelectedTab(index);//from w ww . j  a v  a2  s.  c om
            if (target != null) {
                target.add(WidgetTabs.this);
                target.appendJavaScript("setMainFrameHeightNoScroll(window.name, 0, 100);");
            }
            onAjaxUpdate(target);
        }
    };
}