-
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).
Reactions are currently unavailable
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