diff --git a/src/main/java/com/knowledgepixels/nanodash/component/QueryResultList.html b/src/main/java/com/knowledgepixels/nanodash/component/QueryResultList.html index 229023fd..c5b2fde8 100644 --- a/src/main/java/com/knowledgepixels/nanodash/component/QueryResultList.html +++ b/src/main/java/com/knowledgepixels/nanodash/component/QueryResultList.html @@ -19,6 +19,7 @@

Query

+

Nothing found.

+

Nothing found.

diff --git a/src/main/java/com/knowledgepixels/nanodash/component/QueryResultNanopubSet.java b/src/main/java/com/knowledgepixels/nanodash/component/QueryResultNanopubSet.java index 1abc52c3..0d6ed120 100644 --- a/src/main/java/com/knowledgepixels/nanodash/component/QueryResultNanopubSet.java +++ b/src/main/java/com/knowledgepixels/nanodash/component/QueryResultNanopubSet.java @@ -98,6 +98,14 @@ protected void populateComponent() { nanopubsContainer = new WebMarkupContainer("nanopubs-container"); nanopubsContainer.setOutputMarkupId(true); nanopubsContainer.add(buildNanopubResults()); + Label noRecordsLabel = new Label("no-records", "Nothing found.") { + @Override + protected void onConfigure() { + super.onConfigure(); + setVisible(filteredDataProvider.size() == 0); + } + }; + nanopubsContainer.add(noRecordsLabel); add(nanopubsContainer); if (viewDisplay.getNanopubId() != null) { @@ -110,6 +118,10 @@ protected void populateComponent() { private NanopubResults buildNanopubResults() { NanopubResults nanopubResults = NanopubResults.fromApiResponse("nanopubs", filteredDataProvider.getFilteredData(), itemsPerPage); nanopubResults.add(AttributeAppender.append("class", NanodashSession.get().getNanopubResultsViewMode().getValue())); + // Hide the (empty) results container when there is nothing to show, so the + // "Nothing found." note sits directly below the header instead of being pushed + // down by the flex-container's padding. + nanopubResults.setVisible(!filteredDataProvider.getFilteredData().isEmpty()); return nanopubResults; } diff --git a/src/main/java/com/knowledgepixels/nanodash/component/ThingListPanel.html b/src/main/java/com/knowledgepixels/nanodash/component/ThingListPanel.html deleted file mode 100644 index 0fbe2c0e..00000000 --- a/src/main/java/com/knowledgepixels/nanodash/component/ThingListPanel.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - -
-

Has X things:

-
- -
-
- -
- - - - diff --git a/src/main/java/com/knowledgepixels/nanodash/component/ThingListPanel.java b/src/main/java/com/knowledgepixels/nanodash/component/ThingListPanel.java deleted file mode 100644 index b2df756d..00000000 --- a/src/main/java/com/knowledgepixels/nanodash/component/ThingListPanel.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.knowledgepixels.nanodash.component; - -import org.apache.wicket.Component; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.panel.Panel; -import org.nanopub.extra.services.ApiResponse; -import org.nanopub.extra.services.QueryRef; - -import com.knowledgepixels.nanodash.ApiCache; -import com.knowledgepixels.nanodash.QueryApiAccess; -import com.knowledgepixels.nanodash.Utils; -import com.knowledgepixels.nanodash.template.Template; -import com.knowledgepixels.nanodash.template.TemplateData; - -/** - * Panel to show a list of things. - */ -public class ThingListPanel extends Panel { - - /** - * Constructor for the ThingListPanel. - * - * @param markupId the Wicket markup ID for this panel - * @param mode the mode of the panel, determining what kind of things to show - * @param thingRef the reference of the thing to show the list for - * @param response the API response containing the data to display - */ - private ThingListPanel(String markupId, final Mode mode, final String thingRef, ApiResponse response) { - super(markupId); - // TODO Not copying the table here, which can lead to problems if at some point the same result list is sorted differently at different places: - response.getData().sort(new Utils.ApiResponseEntrySorter("date", true)); - WebMarkupContainer messageRow = new WebMarkupContainer("message-row"); - if (response.getData().isEmpty()) { - setVisible(false); - messageRow.add(new Label("message", "")); - } else if (mode == Mode.TEMPLATES) { - messageRow.setVisible(false); - messageRow.add(new Label("message", "")); - } else if (response.getData().size() == 1) { - messageRow.add(new Label("message", mode.messageStart + " 1 " + mode.wordSg + ":")); - } else if (response.getData().size() == 1000) { - messageRow.add(new Label("message", mode.messageStart + " more " + mode.wordPl + " (>999) than what can be shown here:")); - } else { - messageRow.add(new Label("message", mode.messageStart + " " + response.getData().size() + " " + mode.wordPl + ":")); - } - add(messageRow); - if (mode == Mode.TEMPLATES) { - add(new ItemListPanel