Skip to content

Add LuigiCompoundContainer support and example to luigi-ui5-library-svelte #5427

Description

@JohannesDoberer

Description

The luigi-ui5-library-svelte currently has no example or e2e test demonstrating that node.compound configuration is correctly rendered as a <luigi-compound-container>. This makes it impossible to verify compound support during development and migration.

Background

In core-modular's ui-module.ts, when a node has a compound property, a <luigi-compound-container> element is created instead of a regular <luigi-container>. The UI5 library should support this and have a working example.

Requested

1. Verify compound node support

Ensure that navigating to a node with compound configuration correctly renders a <luigi-compound-container> with the proper compoundConfig.

2. Add example to e2e-test-application

Add a compound node example to the e2e test app that demonstrates:

  • Grid Layout RenderercompoundConfig.renderer with use: 'grid', responsive layouts (breakpoints with minWidth/maxWidth, columns, gap)
  • Multiple Compound Children — Web-component MFEs as compoundConfig.children, each with own viewUrl, context, layoutConfig
  • Event Communication between ChildreneventListeners on children: one child can receive events from another (via source ID) and transform with dataConverter
  • Context Passingcontext, nodeParams, searchParams passed to all children
  • defer-init — Delayed initialization via defer-init attribute + manual container.init()
  • skipInitCheck — Skips handshake, ready event fires immediately
  • noShadow — Rendering without Shadow DOM
  • webcomponent settingstype: 'module', selfRegistered, custom tagName
  • webcomponentCreationInterceptor — Hook to modify web components before DOM attach
  • updateContext() — Dynamic context update at runtime
  • LuigiClient API Events — Full support: NAVIGATION_REQUEST, ALERT_REQUEST, CUSTOM_MESSAGE, GO_BACK_REQUEST, SET_DIRTY_STATUS_REQUEST, PATH_EXISTS_REQUEST, SET_VIEW_GROUP_DATA_REQUEST, etc.
  • activeFeatureToggleList — Feature toggles forwarded to MFEs
  • theme / locale — Theme and locale forwarded to compound children

3. Add e2e test

Create a Cypress e2e test (test-compound.cy.js) that verifies:

  • Compound container is rendered when navigating to a compound node
  • Children web components are displayed in grid layout
  • Event communication between children works
  • Context is passed to compound children

Labels

e2e-migration

Activity

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