Skip to content

feat: office overview page#5644

Draft
elzody wants to merge 13 commits intomainfrom
feat/office-overview
Draft

feat: office overview page#5644
elzody wants to merge 13 commits intomainfrom
feat/office-overview

Conversation

@elzody
Copy link
Copy Markdown
Collaborator

@elzody elzody commented May 8, 2026

  • Resolves: #
  • Target version: main

Summary

TODO

  • ...

Checklist

  • Code is properly formatted
  • Sign-off message is added to all commits
  • Documentation (manuals or wiki) has been updated or is not required

elzody added 5 commits May 8, 2026 12:24
Adds the office overview page to the application bar, and the appropriate route, controller, and template

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
Adds the OfficeOverview Vue component and renders it

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
These template response parameters are used to determine where the app navigation and content are, so that keyboard users can jump to them easily

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
The OfficeOverview Vue component needs to be rendered directly to `#content` else it results in a weird double-margin visual bug. It causes some styles to be applied twice. This is also consistent with other apps.

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
We had imported material design icons for the office file type icons in the navigation bar, but it might be best to re-use the icons we are using in the rest of the richdocuments app now for consistency.

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
@elzody elzody requested a review from emberfiend May 8, 2026 18:32
@elzody elzody added the 2. developing Work in progress label May 8, 2026
elzody added 8 commits May 8, 2026 14:43
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
Adds some basic Cypress and PHP unit tests to have some tests in place already

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
Fetch files via WebDAV and cache them, and using the entries in the navigation bar to filter them. Unfortunately we cannot use the files entry grid from the Files app, so we have to use a somewhat custom Vue component.

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
Previously, fileid was used, but I learned that it is deprecated and snowflake IDs (node.id) should be used instead

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
In order for the viewer to be initiated and usable for opening documents, we need to dispatch this event. Previously, `LoadAdditionalScripts` was used, but it actually does not do what is necessary. It is unrelated.

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
Switch to using the event dispatcher instead of the service locator pattern. This also fixes a PHP Unit test

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
Turns out CI does not load the viewer app, and even stubs won't work; it keeps throwing errors. So, we don't check that the event is dispatched now. We can test this in other ways, naturally, via E2E tests

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
Seemed like a lot of extra steps to get the viewer loaded in the CI environment for the PHP tests, so we can just check if the class exists and gracefully skip it. The tests don't need it for now, and in a real scenario or E2E tests it will get dispatched just fine.

Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2. developing Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants