2.4 KiB
2.4 KiB
Task: Multi-level workflow editor UI
Feature
docs/FEATURES/approval-workflow.md
Goal
Add a workspace settings workflow editor that lets managers/admins configure multi-level approval steps.
Context
The workspace settings screen currently saves the approval mode and simple options, but Multi-level has no step editor. Users can select the mode without any way to define who approves each step.
Scope
- Add a feature-owned workflow editor component under
frontend/src/features/workspaces/components/. - Show the editor only when approval mode is
Multi-level. - Allow users to add, remove, reorder, and edit approval steps.
- For each step, support:
- display name
- target type: role, membership, or member
- target value selector appropriate to the selected type
- required approver count
- Load available workspace members from the existing workspace members API.
- Use existing workspace store/API patterns to save the full workflow configuration.
- Show inline validation before save for missing names, missing targets, and invalid required approver count.
- Keep the existing simple approval options in the same workflow settings tab.
- Update English and French locale strings.
Constraints
- Do not implement the backend in this task; depend on the API contract from task 005.
- Do not implement approval execution, recalculation, reminders, comments, reopening, or magic links in this task.
- Keep feature-owned code under
frontend/src/features/workspaces. - Use
frontend/src/config.jsfor runtime config if any runtime config is needed. - Preserve the shared Axios client in
frontend/src/plugins/api.js. - Do not create a marketing or explanatory page; this is an app settings editor.
Likely Files
frontend/src/features/workspaces/views/WorkspaceSettingsView.vuefrontend/src/features/workspaces/components/ApprovalWorkflowEditor.vuefrontend/src/features/workspaces/stores/workspaceStore.jsfrontend/src/locales/en.jsonfrontend/src/locales/fr.jsonfrontend/src/api/schema.d.ts
Done When
- Selecting
Multi-levelreveals an approval step editor. - Users can add, remove, reorder, and edit steps.
- Role, membership, and member target selectors are available.
- The editor saves and reloads persisted workflow configuration.
- UI prevents saving invalid multi-level configurations.
- Frontend build passes.
Validation Commands
cd frontend
npm run build