/annotator improvements and page selector component#423
Conversation
💡 Future Enhancement Suggestion: SPA-style NavigationThe page selector currently triggers a full page reload on navigation via
This would require architectural changes to support dynamic page loading in the line-parser component, but would significantly improve the UX for users navigating between pages frequently. This is a suggestion for future improvement, not a blocker for this PR. This is also the behavior of the page turner in /transcribe. #428 has been generated to note this improvement idea. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Adds a reusable
tpen-page-selectorweb component that allows users to navigate between manuscript pages in the/annotatorinterface. Thetpen-page-selectorcomponent can be used directly by HTML interfaces or within other components. We are putting it in thetpen-line-parsercomponent as opposed to directly on line-parser.html so that it can be easily positioned among other components being used the same way ('Go To Project Management', 'Auto Parse', etc.)Closes #339
Closes #413
Closes #420
Changes
New Component:
tpen-page-selectorpart="select"for interface-specific stylingPAGE ANYview access or project has only one page#escapeHtml()methodtpen-page-selectedevent for future SPA-style navigationIntegration with Line Parser
<tpen-page-selector>in the annotator interfacetext-overflow: ellipsisBug Fixes
checkAllAccess()tocheckEditAccess() && checkCreateAccess(), allowing CONTRIBUTOR role users to access the annotator interface<input type="button">and<a>elements to consistent<button type="button">elements for uniform font renderingev.preventDefault()+ev.returnValue = '') instead of non-functionalconfirm()patternDocumentation
tpen-page-selectedevent to common events list in CLAUDE.md