Skip to content

Commit fa91c19

Browse files
committed
Add Project Journey sort indicators compact button width and skipped status - PR_26157_006-project-journey-sort-and-skipped-status
1 parent 10276e3 commit fa91c19

12 files changed

Lines changed: 185 additions & 43 deletions

admin/notes.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const NOTES_DIRECTORY = "docs_build/dev/admin-notes";
22
const DEFAULT_NOTE = "index";
33
const LINK_CLASS = "btn btn--compact primary";
44
const NOTE_NAME_PATTERN = /^[A-Za-z0-9_-]+$/;
5-
const STATUS_ICON_PATTERN = /^\[([ xX.!?])\]\s*(.*)$/;
5+
const STATUS_ICON_PATTERN = /^\[([ xX.!?-])\]\s*(.*)$/;
66
const NOTE_INDEX_FILE = "index.txt";
77
const DIRECTORY_LIST_QUERY = "adminNotesDirectory";
88
const STATUS_MARKERS = {
@@ -40,6 +40,13 @@ const STATUS_MARKERS = {
4040
label: "Complete",
4141
name: "complete",
4242
title: "Complete"
43+
},
44+
"-": {
45+
marker: "[-]",
46+
icon: "⏭️",
47+
label: "Skipped",
48+
name: "skipped",
49+
title: "Skipped"
4350
}
4451
};
4552

assets/theme-v2/css/buttons.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
.btn--compact {
2121
margin: var(--space-0);
22+
min-width: calc(var(--space-44) + var(--space-28));
2223
padding: var(--space-3) var(--space-8);
2324
font-size: var(--font-size-xs);
2425
font-weight: 600;

docs_build/dev/admin-notes/index.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Ideas
88

99
Things to Fix
1010
- [!] Replace placeholder notes with concrete admin follow-up items.
11+
- [-] Keep intentionally skipped work visible without counting it as open.
1112
- Track fixes that are not ready for a dedicated BUILD_PR yet.
1213

1314
Undecided Questions

docs_build/dev/reports/playwright_v8_coverage_report.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ Exercised tool entry points detected:
1717
(74%) Theme V2 Shared JS - exercised 2 runtime JS files
1818

1919
Changed runtime JS files covered:
20-
(94%) toolbox/project-journey/project-journey-mock-repository.js - executed lines 864/864; executed functions 74/79
21-
(96%) toolbox/project-journey/project-journey.js - executed lines 802/802; executed functions 80/83
20+
(94%) toolbox/project-journey/project-journey-mock-repository.js - executed lines 882/882; executed functions 74/79
21+
(96%) toolbox/project-journey/project-journey.js - executed lines 815/815; executed functions 81/84
2222

2323
Files with executed line/function counts where available:
2424
(67%) assets/theme-v2/js/tool-display-mode.js - executed lines 201/201; executed functions 10/15
@@ -27,16 +27,16 @@ Files with executed line/function counts where available:
2727
(76%) toolbox/project-workspace/project-workspace-mock-repository.js - executed lines 402/402; executed functions 26/34
2828
(80%) assets/theme-v2/js/gamefoundry-partials.js - executed lines 207/207; executed functions 16/20
2929
(84%) toolbox/toolRegistry.js - executed lines 1788/1788; executed functions 31/37
30-
(94%) toolbox/project-journey/project-journey-mock-repository.js - executed lines 864/864; executed functions 74/79
31-
(96%) toolbox/project-journey/project-journey.js - executed lines 802/802; executed functions 80/83
30+
(94%) toolbox/project-journey/project-journey-mock-repository.js - executed lines 882/882; executed functions 74/79
31+
(96%) toolbox/project-journey/project-journey.js - executed lines 815/815; executed functions 81/84
3232

3333
Uncovered or low-coverage changed JS files:
3434
(100%) none - no low-coverage changed runtime JS files
3535

3636
Changed JS files considered:
37-
(0%) admin/db-viewer.js - changed JS file not collected as browser runtime coverage
37+
(0%) admin/notes.js - changed JS file not collected as browser runtime coverage
3838
(0%) tests/playwright/tools/AdminDbViewer.spec.mjs - changed JS file not collected as browser runtime coverage
39+
(0%) tests/playwright/tools/AdminNotesViewer.spec.mjs - changed JS file not collected as browser runtime coverage
3940
(0%) tests/playwright/tools/ProjectJourneyTool.spec.mjs - changed JS file not collected as browser runtime coverage
40-
(80%) assets/theme-v2/js/gamefoundry-partials.js - changed JS file with browser V8 coverage
4141
(94%) toolbox/project-journey/project-journey-mock-repository.js - changed JS file with browser V8 coverage
4242
(96%) toolbox/project-journey/project-journey.js - changed JS file with browser V8 coverage
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Project Journey Sort And Skipped Status Report
2+
3+
Generated: 2026-06-06
4+
5+
Status: PASS
6+
7+
## Summary
8+
9+
- Added active Summary Table sort indicators using existing sortable headers, `aria-sort`, `primary` button state, and asc/desc arrows.
10+
- Increased reusable `.btn.btn--compact` minimum width through Theme V2 button CSS.
11+
- Added the Skipped status to Project Journey as `[-] ⏭️ Skipped` after Complete.
12+
- Added Skipped counts to Project Journey Summary Table and Statistics while keeping Open limited to Not Started, Blocker, Decide, and In Progress.
13+
- Added a Skipped navigation filter and seeded one system-created skipped Project Journey item.
14+
- Added Admin Notes parser and legend support for `[-] ⏭️ Skipped`.
15+
16+
## Status Order
17+
18+
Project Journey and Admin Notes now use this status order where applicable:
19+
20+
- ⬜ Not Started
21+
- ⛔ Blocker
22+
- ❓ Decide
23+
- 🟡 In Progress
24+
- ✅ Complete
25+
- ⏭️ Skipped
26+
27+
## Count Rules
28+
29+
- Open = Not Started + Blocker + Decide + In Progress.
30+
- Total = all statuses, including Complete and Skipped.
31+
- Skipped is intentionally excluded from Open and included in Total.
32+
33+
## Validation
34+
35+
- Project Journey runtime/UI lane: PASS.
36+
- Admin Notes parser/UI lane: PASS.
37+
- Admin DB Viewer relationship-count check: PASS.
38+
- Changed-file/static validation: PASS.
39+
- Full samples smoke: SKIP per instructions.
40+
41+
## Design System Note
42+
43+
- The compact button width change is reusable Theme V2 styling in `assets/theme-v2/css/buttons.css`.
44+
- Sort indicators reuse existing button states and do not add page-local or tool-local CSS.

docs_build/dev/reports/testing_lane_execution_report.md

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ Status: PASS
77
## Lanes
88

99
- Project Journey runtime/UI lane: PASS.
10-
- Mock DB Project Journey Tables / DB Viewer UI lane: PASS.
11-
- Project Workspace handoff coverage: PASS inside the targeted Project Journey spec.
12-
- Toolbox registration/navigation coverage: PASS inside the targeted Project Journey spec.
10+
- Admin Notes parser/UI lane: PASS.
11+
- Admin DB Viewer relationship-count check: PASS because Project Journey mock DB seed counts changed.
1312
- Changed-file/static validation: PASS.
1413
- Full samples smoke: SKIP per PR instructions.
1514

@@ -19,25 +18,31 @@ Status: PASS
1918
| --- | --- | --- |
2019
| `node --check toolbox/project-journey/project-journey.js` | PASS | Project Journey runtime syntax passed. |
2120
| `node --check toolbox/project-journey/project-journey-mock-repository.js` | PASS | Project Journey mock DB syntax passed. |
22-
| `node --check admin/db-viewer.js` | PASS | DB Viewer syntax passed. |
21+
| `node --check admin/notes.js` | PASS | Admin Notes parser syntax passed. |
2322
| `node --check tests/playwright/tools/ProjectJourneyTool.spec.mjs` | PASS | Project Journey Playwright spec syntax passed. |
24-
| `node --check tests/playwright/tools/AdminDbViewer.spec.mjs` | PASS | DB Viewer Playwright spec syntax passed. |
25-
| `npx playwright test tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/AdminDbViewer.spec.mjs --reporter=list` | PASS | 12 passed in 29.4s. |
23+
| `node --check tests/playwright/tools/AdminNotesViewer.spec.mjs` | PASS | Admin Notes Playwright spec syntax passed. |
24+
| `npx playwright test tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/AdminNotesViewer.spec.mjs tests/playwright/tools/AdminDbViewer.spec.mjs --reporter=list` | PASS | 16 passed in 39.0s. |
2625
| `npm run test:playwright:static -- --static-report docs_build/dev/reports/static_validation_report.md` | PASS | Static-only lane runner completed; auxiliary static cache report churn was restored out of the PR diff. |
2726

2827
## Targeted Runtime Coverage
2928

30-
- Verified Mock DB Project Journey Tables uses the reusable tools template page structure.
31-
- Verified the DB dump remains human-readable and read-only.
32-
- Verified the Statistics divider appears between Total and Not Started.
33-
- Verified the existing manual Status Legend layout and dynamic legend wiring remain intact.
34-
- Verified obsolete `statusLegend` code was not removed because the current legend element still uses it.
35-
- Verified System Generated filtering shows system-created items and excludes user-created items.
36-
- Verified Note Tree rows keep status, title, forge-bot, and trashcan controls on one line.
37-
- Verified Note Tree content is left-justified and constrained to the reusable 90 percent row-width class.
38-
- Verified Item Details uses the standard tool form table with the label left of `journeyItemDetailsInput`.
29+
- Verified Project Journey Summary Table sorted column is visually distinct and shows asc/desc arrows.
30+
- Verified every sortable Summary Table column still toggles asc/desc.
31+
- Verified reusable `.btn.btn--compact` minimum width increased through Theme V2 button CSS.
32+
- Verified Skipped appears after Complete in Project Journey navigation, summary headers, statistics, dropdowns, and legend.
33+
- Verified Skipped does not count as Open and does count in Total.
34+
- Verified Summary Table displays Skipped after Complete and before Open.
35+
- Verified Skipped filter returns the expected release note with Skipped counts.
36+
- Verified Admin Notes parses `[-]` as Skipped and shows `[-] ⏭️ Skipped` in the status legend.
37+
- Verified Project Journey manual Status Legend layout remains intact while receiving the new Skipped entry from the existing renderer.
38+
39+
## Coverage Notes
40+
41+
- `docs_build/dev/reports/playwright_v8_coverage_report.txt` was regenerated by the targeted Playwright run.
42+
- Project Journey changed runtime JS was collected by V8 coverage.
43+
- `admin/notes.js` is listed by the coverage reporter as not collected browser runtime coverage, but the Admin Notes parser/UI lane executed and passed.
3944

4045
## Skipped Lanes
4146

4247
- Full samples smoke was skipped because samples were explicitly out of scope.
43-
- Broad runtime lanes were skipped because the targeted Project Journey, DB Viewer, handoff, registration, and static lanes covered the changed surfaces.
48+
- Broad runtime lanes were skipped because the targeted Project Journey, Admin Notes, DB Viewer count, and static lanes covered the changed surfaces.

tests/playwright/tools/AdminDbViewer.spec.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,10 @@ test("Admin DB Viewer shows read-only mock DB tables and diagnostics", async ({
9696
);
9797
await expect(page.locator("[data-admin-db-bleed-findings]")).toContainText("No table bleed detected.");
9898
await expect(page.locator("[data-admin-db-relationship-summary]")).toContainText(
99-
"project_journey_items.noteId -> project_journey_notes.id: 8/8 records linked."
99+
"project_journey_items.noteId -> project_journey_notes.id: 9/9 records linked."
100100
);
101101
await expect(page.locator("[data-admin-db-relationship-summary]")).toContainText(
102-
"system project_journey_items.templateId -> active project_journey_templates.templateId: 8/8 records linked."
102+
"system project_journey_items.templateId -> active project_journey_templates.templateId: 9/9 records linked."
103103
);
104104
await expect(page.locator("[data-admin-db-missing-links]")).toContainText("No missing links detected.");
105105
await expect(page.locator("[data-admin-db-viewer] input, [data-admin-db-viewer] textarea, [data-admin-db-viewer] select, [data-admin-db-viewer] button")).toHaveCount(0);

tests/playwright/tools/AdminNotesViewer.spec.mjs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ test("Admin Notes displays index.txt, parser output, and linked subnotes", async
103103
await expect(page.locator("[data-admin-notes-status-icon='in-progress']")).toHaveText("🟡");
104104
await expect(page.locator("[data-admin-notes-status-icon='blocker']")).toHaveText("⛔");
105105
await expect(page.locator("[data-admin-notes-status-icon='decide']")).toHaveText("❓");
106+
await expect(page.locator("[data-admin-notes-status-icon='skipped']")).toHaveText("⏭️");
106107
await expect(page.locator("[data-admin-notes-status-icon='decide']")).toHaveAttribute(
107108
"title",
108109
"Decide which project questions need their own subnote files."
@@ -141,7 +142,8 @@ test("Admin Notes displays index.txt, parser output, and linked subnotes", async
141142
"[!] ⛔ Blocker",
142143
"[?] ❓ Decide",
143144
"[.] 🟡 In Progress",
144-
"[x] ✅ Complete"
145+
"[x] ✅ Complete",
146+
"[-] ⏭️ Skipped"
145147
]);
146148
await expect(page.locator("[data-admin-notes-legend] [title]")).toHaveCount(0);
147149
const legendLabelBox = await page.locator("[data-admin-notes-legend] strong").boundingBox();

0 commit comments

Comments
 (0)