docs(centralui): template picker on Create Instance, New Instance… from the Templates tree

Claude-Session: https://claude.ai/code/session_01G2GHPnbbKGvyyfbr2XBRVH
This commit is contained in:
Joseph Doherty
2026-08-21 08:01:37 -04:00
parent 1790f67ebd
commit 4bb77cf0f7
4 changed files with 13 additions and 7 deletions
@@ -42,8 +42,12 @@ Same `FlattenSession` memo, so it is one template-chain walk per call.
### 3.2 Create page (CentralUI `InstanceCreate.razor` + new code-behind)
- **Superseded 2026-08-21 (`docs/plans/2026-08-21-template-picker.md`):** the Template `<select>`
described below is now a read-only folder-path field + `TemplatePickerDialog`, and the page takes
a `?templateId=` query preselect (what the Templates tree's "New Instance…" navigates with). The
card's trigger is unchanged — a pick still calls `OnTemplateOrSiteChangedAsync()`.
- The **Connection Bindings** card appears once Template *and* Site are set; changing either
re-runs the preview (debounced by the select's change event — no typing involved) and resets
re-runs the preview (a pick or a site-select change — no typing involved) and resets
the card. Rows = `PreviewAsync(...).Attributes.Where(DefaultDataSourceReference ?? DataSourceReference != null)`
→ `BindingRow(canonicalName, default, null, null)` → `BindingGroupBuilder.Build(rows, siteConnectionIds)`.
- **Group rows** are the Configure page's group-header row (connection select, Object input,
@@ -1,6 +1,6 @@
# Template picker for Create Instance + "New Instance…" from the Templates tree (design)
**Date:** 2026-08-21 · **Status:** designed — plan `docs/plans/2026-08-21-template-picker.md`
**Date:** 2026-08-21 · **Status:** **implemented** 2026-08-21 — plan `docs/plans/2026-08-21-template-picker.md`
**Mockup:** Claude artifact "Template Picker" (https://claude.ai/code/artifact/71fea4e0-eafc-4b84-8157-66b450126330)
**Builds on:** `docs/plans/2026-08-21-create-instance-bindings-design.md` (the create page this changes), the shared `TemplateFolderTree` (Templates page, Transport export wizard)
@@ -23,7 +23,7 @@
{
"id": 4,
"subject": "Task 4: Create page \u2014 picker field + ?templateId= preselect",
"status": "pending",
"status": "completed",
"blockedBy": [
3
]
@@ -31,12 +31,12 @@
{
"id": 5,
"subject": "Task 5: Templates page \u2014 New Instance\u2026 menu item (Deployer-gated)",
"status": "pending"
"status": "completed"
},
{
"id": 6,
"subject": "Task 6: Pin the Topology Disable confirm label",
"status": "pending"
"status": "completed"
},
{
"id": 7,