Skip to content

feat(applications): standalone application shell with its own menu - #25

Open
remko48 wants to merge 3 commits into
stack-3-mainfrom
stack/a1-application-shell
Open

remko48 wants to merge 3 commits into
stack-3-mainfrom
stack/a1-application-shell

Conversation

@remko48

@remko48 remko48 commented Oct 14, 2026

Copy link
Copy Markdown
Member

An application opened on its own, at /apps/tables/app/{id}, now gets its own navigation: its menu replaces the Tables navigation, and every menu item opens inside the application.

What changes

  • ApplicationNavigation: the application's icon, name and description, then its menu as navigation entries, nested one level like the stored menu. An external link opens in a new tab. An "Overview" entry shows the application's tables and views when it has any, and the owner gets a "Configure in Tables" link.
  • Menu item pages: a new route /application/{id}/menu/{technicalName} opens what a menu item points at: a page with widgets, a view or a table. A menu item whose target is gone, or not accessible, shows an empty state.
  • First page: opened on its own, the application starts on the first menu item that is not a link.
  • Inside Tables: a menu item page shows a breadcrumb back to the application and an "Open application" button that opens it on its own.
  • MenuItemIcon: a warning icon for a broken item, else the chosen icon, else one for what the item opens.
  • Focus: the content area only takes focus after a first click or key press, so no focus ring is drawn around it when the page loads.
  • Grid views as resources: a page with widgets that is a resource of the application is no longer loaded as a table; it is reached through the menu.
  • Tests: a Cypress component test covers the menu routes and the menu tree; a Playwright test opens an application on its own.

🖼️ Screenshots

🏚️ Before 🏡 After
|

🏁 Checklist

  • ⛑️ Tests (unit and/or integration) are included or not needed
  • 🔙 Backport requests are created or not needed: /backport to stableX.X
  • 📅 Milestone is set
  • 🌸 PR title is meaningful (if it should be in the changelog: is it meaningful to users?)

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI

- an application opened at /apps/tables/app/{id} gets its own navigation:
  its menu items replace the Tables navigation
- a menu item opens its view, table or page with widgets inside the
  application, at /application/{id}/menu/{technicalName}
- opened on its own, the application starts on its first page
- inside Tables, a menu item page shows a breadcrumb back to the
  application and a link to open it on its own
- the content area only takes focus after a first interaction, so no
  focus ring is drawn around it on load

Signed-off-by: Remko <remko@conduction.nl>
Assisted-by: ClaudeCode:claude-opus-5-5
@remko48
remko48 added this pull request to stack #32 October 14, 2026 10:03
@remko48
remko48 removed this pull request from stack #32 October 14, 2026 10:21
@remko48
remko48 changed the base branch from main-forked to stack-3-main October 14, 2026 10:21
@remko48
remko48 added this pull request to stack #33 October 14, 2026 10:21
@remko48 remko48 closed this Oct 14, 2026
@remko48 remko48 reopened this Oct 14, 2026
NcButton only renders a link for 'to' when it finds the router through its own copy of vue-router (5.x), which the app (4.x) does not provide, so the button did nothing. It navigates through the app's router instead.

Signed-off-by: Remko <remko@conduction.nl>
Assisted-by: ClaudeCode:claude-opus-5-5
Comment thread src/pages/Context.vue Outdated
Comment thread src/pages/Context.vue
Comment thread src/modules/navigation/sections/ApplicationNavigation.vue
Comment thread src/modules/navigation/sections/ApplicationNavigation.vue Outdated
A menu page ignores a load that a newer menu choice overtook, and the tables and views of the overview only load when the overview is shown, so an application opened on its own no longer loads every resource before jumping to its first page. Grid views no longer make the Overview entry appear, an overview without tables or views says so, and the dead target bindings on the navigation entries are gone.

Signed-off-by: Remko <remko@conduction.nl>
Assisted-by: ClaudeCode:claude-opus-5-5
@rubenvdlinde

Copy link
Copy Markdown
Collaborator

Superseded by #39 (rebuilt on application pages, see #13).

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants