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 Renderer —
compoundConfig.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 Children —
eventListeners on children: one child can receive events from another (via source ID) and transform with dataConverter
- Context Passing —
context, 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 settings —
type: '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
Description
The
luigi-ui5-library-sveltecurrently has no example or e2e test demonstrating thatnode.compoundconfiguration 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 acompoundproperty, 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
compoundconfiguration correctly renders a<luigi-compound-container>with the propercompoundConfig.2. Add example to e2e-test-application
Add a compound node example to the e2e test app that demonstrates:
compoundConfig.rendererwithuse: 'grid', responsivelayouts(breakpoints withminWidth/maxWidth,columns,gap)compoundConfig.children, each with ownviewUrl,context,layoutConfigeventListenerson children: one child can receive events from another (viasourceID) and transform withdataConvertercontext,nodeParams,searchParamspassed to all childrendefer-initattribute + manualcontainer.init()type: 'module',selfRegistered, customtagNameNAVIGATION_REQUEST,ALERT_REQUEST,CUSTOM_MESSAGE,GO_BACK_REQUEST,SET_DIRTY_STATUS_REQUEST,PATH_EXISTS_REQUEST,SET_VIEW_GROUP_DATA_REQUEST, etc.3. Add e2e test
Create a Cypress e2e test (
test-compound.cy.js) that verifies:Labels
e2e-migration