feat: implement ItemListView and fix async view rendering#438
Merged
Conversation
…gation - Add QueryResultItemList/Builder/HTML for the ItemListView type, with user_iri and template_iri column recognition, filter, and pagination - Dispatch ITEM_LIST_VIEW in ViewList - Fix col-X class not applied to ApiResultComponent wrapper in async loading path (moved from QueryResult constructor to each builder) - Fix page size ignored when using ViewList: use viewDisplay.getPageSize() in QueryResultList, QueryResultItemList, and QueryResultNanopubSetBuilder - Fix .listview img padding rule not to affect user-icon/bot-icon - Fix bullet not hidden for li containing bot-icon - Make bot-icon use same tilted-square mask shape and gray as user-icon Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the four hardcoded views on the home page with a ViewList driven by a maintained resource. The resource IRI defaults to https://w3id.org/spaces/knowledgepixels/nanodash/r/home and can be overridden via the NANODASH_HOME_RESOURCE environment variable. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ng row-section backgrounds Also documents NANODASH_HOME_RESOURCE in docker-compose.override.yml.template. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… popular templates - Remove double col nesting (HTML col-6 wrapper + builder col-X) that caused async-loaded views to render at 3/12 instead of 6/12 - Add ViewDisplay.withDisplayWidth() for explicit width override - Switch popular-templates to QueryResultItemListBuilder to show only the template link, dropping the count column Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…serlist Same double col-nesting issue as TemplateList: HTML col-6 wrappers plus builder col-X caused async-loaded views to render at 3/12. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sort logic applied in FilteredQueryResultDataProvider.iterator() using the shared sort state. AjaxFallbackHeadersToolbar replaces HeadersToolbar so sort clicks refresh the table in-place via AJAX rather than triggering a full page reload (which would re-initialize the AjaxLazyLoadPanel and lose the sort state). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When a column has a _label companion (e.g. template_iri_label for template_iri), sort by the label text instead of the raw URI. Also uses case-insensitive comparison. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Columns ending in template_iri are now rendered as links to /publish?template=<iri>&template-version=latest, consistent with how QueryResultItemList handles them. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
BookmarkablePageLink renders on the DataTable's span host element, producing <span href="..."> which browsers don't style as a link. Use Label with unescaped HTML instead (same pattern as QueryResultItemList) to emit a real <a> tag regardless of the host element. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e cells Applies to template_iri, regular IRI, multi-iri, and multi-val link cells. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Moved truncateLabel to Utils and applied it to NanopubItem's header link, which is the main link in the nanopub set view. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
🎉 This PR is included in version 4.25.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ItemListViewview type (QueryResultItemList+ builder + HTML), with special handling foruser_iriandtemplate_iricolumns, filter field, and paginationITEM_LIST_VIEWinViewListso it no longer throws an error on pages that use itcol-Xclass not being applied to theApiResultComponentwrapper in the async loading path — it was only on the innerQueryResult, causing floated elements to escape their containersViewList:QueryResultList,QueryResultItemList, andQueryResultNanopubSetBuildernow read fromviewDisplay.getPageSize().listview imgpadding rule accidentally applying touser-icon/bot-iconimageslicontaining abot-iconbot-iconuse the same tilted-square mask shape and gray background asuser-iconTest plan
ItemListView(e.g./resource?id=.../r/home) and verify items render as a vertical list with correct icons and links🤖 Generated with Claude Code