-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
backendBackend services and logicBackend services and logicenhancementNew feature or requestNew feature or requestepicTop-level feature or themeTop-level feature or themefrontendFrontend app and dashboardFrontend app and dashboardinventoryInventory system featuresInventory system featureslocationsVerse locations and locations dataVerse locations and locations dataperformancePerformance and scalingPerformance and scalingui-uxUser interface and experienceUser interface and experience
Description
Goal
Deliver an Editor Mode on the Inventory screen that enables extremely fast, keyboard-driven per-row updates (location + quantity) with minimal UI friction (green-screen / spreadsheet style).
User Value
- Rapid corrections and bulk updates without page reloads
- Keyboard-first workflow with predictable focus movement
- Works the same for personal + org inventory views
MVP Definition
- Rename current “Compact” option to “Editor Mode” (keeps compact table layout)
- Inline editable Location + Quantity per row
- Location selection uses an accessible combobox with debounced filtering and full keyboard support
- Enter advances: Location → Quantity → Save → next row Location
- Save updates a row without a full screen reload; show minimal but obvious “saved” indicator
- Validation:
- Location must be selected from the list (no free text)
- Quantity is a whole number and >= 1
- Warning threshold: >= 100,000 (non-blocking)
- Hard max aligns with backend DB trigger: 999,999,999.99 (UI enforces integer-only)
Implementation Guardrails
- Prefer local filtering of a cached location dataset after initial preload (network round-trips break the “green screen” flow)
- Avoid full inventory refetch after per-row save; patch local state (optimistic where safe)
- Accessibility is non-negotiable: keyboard navigation, screen readers, focus management
Stories / Tech Stories
- Inventory: Rename Compact to Editor Mode #59 Rename “Compact” → “Editor Mode”
- Inventory Editor Mode: Inline editing enabled for personal + org inventory #60 Inline editing enabled in Editor Mode (personal + org)
- Inventory Editor Mode: Location combobox with debounced filtering + full keyboard support #61 Location combobox: debounced filtering + keyboard + a11y
- Inventory Editor Mode: Keyboard flow (Location → Quantity → Save → Next row) #62 Keyboard focus flow: Location → Quantity → Save → Next row
- Inventory Editor Mode: Per-row save without reload + saved indicator #63 Per-row save without reload + saved indicator + error retry UX
- Inventory Editor Mode: Allow up to 250 rows per page #64 Editor Mode supports up to 250 rows/page
- Tech: Define & serve storable locations dataset (ETag + client cache) #65 Tech: storable locations dataset endpoint + ETag + client cache
- Tech: Focus controller for deterministic row navigation (Editor Mode) #66 Tech: focus controller abstraction for deterministic navigation
- Tech: Ensure update API parity for personal + org inventory (Editor Mode saves) #67 Tech: API parity for personal vs org inventory saves + permissions
- Tech: Automated tests for Editor Mode (keyboard + a11y) #68 Tech: automated tests for Editor Mode (keyboard + a11y)
Definition of Done
- All child issues above are closed with acceptance criteria met.
- Editor Mode is available and functional in both personal and org inventory views with the behaviors described in MVP Definition.
- No regressions to Standard mode.
- Keyboard-only and screen-reader flows verified (manual spot-check + automated tests from Tech: Automated tests for Editor Mode (keyboard + a11y) #68).
- Performance acceptable at configured page sizes (see Inventory Editor Mode: Allow up to 250 rows per page #64) without focus/scroll jank.
- Documentation updated (short admin/dev note on Editor Mode behavior and feature flag, if any).
Metadata
Metadata
Assignees
Labels
backendBackend services and logicBackend services and logicenhancementNew feature or requestNew feature or requestepicTop-level feature or themeTop-level feature or themefrontendFrontend app and dashboardFrontend app and dashboardinventoryInventory system featuresInventory system featureslocationsVerse locations and locations dataVerse locations and locations dataperformancePerformance and scalingPerformance and scalingui-uxUser interface and experienceUser interface and experience