Skip to content

[OpenSpec] dashboard-tiles #1884

Open
Open

Description

@github-actions

⚠️ OpenSpec-managed issue — this content is automatically synced
from the openspec/ directory. Manual edits will be overwritten on next sync.

Artifacts

Specs

Tasks

  • 1.1 src/main.js: import registerBuiltinDashboardWidgets from @conduction/nextcloud-vue and call it before createApp; verify by loading /apps/dossiq/ in a fresh context and seeing five numbers instead of "Widget not available". [MVP]
  • 1.2 src/manifest.json page Dashboard: add viewAllRoute.query to open-cases and stalled-cases equal to each table's source.filter; verify View all opens /cases with the query in the URL. [MVP]
  • 2.1 Replace my-tasks and task-reminders with one object-table my-work (schema caseTask, filter assignee: @me, isTerminalStatus: false, extend: ["case", "calculations"], order dueDate asc, limit 10, columns title, case title, daysUntilDue, viewAllRoute to Tasks with the same filter); verify each open task appears once. [MVP]
  • 2.2 Replace overdue-cases and deadline-alerts with one object-table deadlines (schema case, filter isFinalStatus: false, deadline lte @today+3d, order deadline asc, limit 10, daysUntilDeadline with cn-cell--danger on the negative branch, viewAllRoute to Cases with the same filter); verify the overdue row renders in --color-error-text. [MVP]
  • 2.3 Update the layout of page Dashboard so the two new ids take the four old slots and nothing renders twice; verify with npm run manifest:check or the manifest parity test the repo carries. [MVP]
  • 2.4 [blocked: nextcloud-vue rowActions on object-table] Declare rowActions Pick up and Complete on my-work as caseTask lifecycle transitions; interim: the row keeps rowRoute: TaskDetail. [V1]
  • 2.5 Header action new-case: add fieldOverrides.caseType.filter (isDraft: false, validUntil on or after today or absent) and order: {title: asc}; verify the spelling of the null-or-future condition against a live instance and record it in design D5. [MVP]
  • 2.6 [blocked: nextcloud-vue recentFirst on a reference field] Recently used case types first; no interim. [V1]
  • 3.1 Add tests/e2e/dashboard-tiles.spec.ts: fresh-context KPI render, single My work table with days left, single Deadlines table with an overdue row in red and no closed case, View all carrying the filter, New case type list sorted without drafts; verify it passes locally against the demo caseload. [MVP]
  • 3.2 Grep tests/e2e for my-tasks, task-reminders, deadline-alerts, overdue-cases and move every selector to the new ids; verify pages.spec.ts and smoke.spec.ts still pass. [MVP]
  • 3.3 Record dashboard-tiles in openspec/specs/dashboard/spec.md and openspec/specs/signalering-widgets/spec.md under OpenSpec changes and set both to in-progress. [MVP]

Design

See design.md for technical design details.


Synced from openspec/changes/dashboard-tiles by OpenSpec workflow
App: dossiq

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions