From fdaee4e8da835db9dcf53aa66124da254f439097 Mon Sep 17 00:00:00 2001 From: Ashley Caselli Date: Thu, 30 Jul 2026 11:32:15 +0200 Subject: [PATCH 1/5] feat: add space-/namespace-dependent prefixes support in templates --- docs/README.md | 1 + docs/space-namespace-prefixes.md | 100 ++++++++ .../nanodash/DynamicPrefix.java | 141 +++++++++++ .../nanodash/component/GuidedChoiceItem.java | 2 +- .../nanodash/component/IriTextfieldItem.html | 2 +- .../nanodash/component/IriTextfieldItem.java | 232 +++++++++++++++-- .../nanodash/component/PublishForm.java | 34 ++- .../nanodash/component/ReadonlyItem.java | 2 +- .../MaintainedResourceRepository.java | 9 + .../nanodash/repository/SpaceRepository.java | 9 + .../nanodash/template/TemplateContext.java | 135 ++++++++-- .../nanodash/DynamicPrefixTest.java | 46 ++++ .../component/IriTextfieldPrefixItemTest.java | 163 ++++++++++++ .../template/DynamicPrefixPublishTest.java | 233 ++++++++++++++++++ .../template/ScratchTemplateCheck.java | 47 ++++ 15 files changed, 1110 insertions(+), 46 deletions(-) create mode 100644 docs/space-namespace-prefixes.md create mode 100644 src/main/java/com/knowledgepixels/nanodash/DynamicPrefix.java create mode 100644 src/test/java/com/knowledgepixels/nanodash/DynamicPrefixTest.java create mode 100644 src/test/java/com/knowledgepixels/nanodash/component/IriTextfieldPrefixItemTest.java create mode 100644 src/test/java/com/knowledgepixels/nanodash/template/DynamicPrefixPublishTest.java create mode 100644 src/test/java/com/knowledgepixels/nanodash/template/ScratchTemplateCheck.java diff --git a/docs/README.md b/docs/README.md index c021e989..2749a7c8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,6 +12,7 @@ Status legend: βœ… Implemented Β· 🚧 In progress Β· πŸ“‹ Proposed | [magic-query-params](magic-query-params.md) | βœ… Implemented | Session-bound view-query placeholders (`LOCALPUBKEY`, `SITEURL`, `CURRENTUSER`); replaced the custom introductions table with proper views (`ProfileIntroItem` removed) | | [role-specific-views](role-specific-views.md) | βœ… Implemented | View **action buttons** gated to a role tier (Maintainer, …) or specific role, via `gen:isVisibleTo` on the action node | | [structural-position](structural-position.md) | βœ… Implemented | `gen:hasStructuralPosition` `
..