List of usage examples for org.apache.wicket.extensions.ajax.markup.html IndicatingAjaxFallbackLink IndicatingAjaxFallbackLink
public IndicatingAjaxFallbackLink(final String id)
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); } }; }