You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When changing source in any plugin or library, you must rebuild it before the changes are picked up by dependent projects.
cd plugins/xt-default && npx ng build default
cd plugins/xt-web && npx ng build web
cd libs/xt-components && npx ng build xt-components
The build output is linked into downstream node_modules/ via symlinks (e.g. plugins/xt-workflow/node_modules/xt-plugin-default -> ../../xt-default/dist/xt-plugin-default). The test runner resolves the dependency from the built output, not the source.
Carousel and Workflow Architecture
Component hierarchy
wfw-render (dc-workflow library)
└─ resolves workflow component via WfwResolverService.findBestWorkflow(config)
└─ CarouselComponent (xt-workflow plugin) or ListDetailsComponent
└─ <lib-carousel-object-set> (xt-default plugin)
└─ <xt-render> per panel (xt-components library)
WfwRender uses ngComponentOutlet with <ng-container> (no wrapper DOM elements).
CarouselComponent extends AbstractDcWorkflow<T> which declares config = input.required<DcWorkflowModel>().
CarouselObjectSetComponent is the actual carousel UI with panels, navigation, and edit button.
Each panel's content is rendered via xt-render in FULL_VIEW mode.
Track is display: flex; position: relative (relative for exiting panel absolute positioning).
Viewport has overflow: hidden; flex: 1; min-width: 0.
Edit button (pencil icon) appears on the selected panel when editButton() is true.
Rendering context caveat
wfw-render and xt-render both have empty CSS (inline by default, no :host styles).
In test-object-set, the carousel is wrapped in <div class="list_view_container"> (block, padding: 4rem) which constrains width.
In test-workflow, the carousel is placed directly in the template. A flex div wrapper may be needed in front of <wfw-render> to prevent layout issues (carousel items overlapping).
Build order for carousel/workflow changes
cd libs/dc-workflow && npx ng build dc-workflow # if DcWorkflowModel changed
cd plugins/xt-default && npx ng build default # if carousel-object-set changed
cd plugins/xt-workflow && npx ng build workflow # if CarouselComponent changed