{#each displayModules as mod (mod.id)}
{@const selected = selectionManager.isNodeSelected(mod.id)}
{@const nodeState = flowRunStatus?.getModuleState(mod.id)?.type}
{@const colorClasses = getNodeColorClasses(nodeState, selected)}
{#snippet children()}
selectModule(mod)}
>
{mod.id}
{/snippet}
{#snippet text()}
{mod.id}: {moduleLabel(mod)}
{/snippet}
{/each}
{#if overflowModules.length > 0}
{@const overflowColorClasses = getNodeColorClasses(overflowAggregateState, false)}
{#snippet buttonReplacement()}
+{overflowModules.length}
{/snippet}
{#snippet menu()}
{#each overflowModules as mod (mod.id)}
{@const nodeState = flowRunStatus?.getModuleState(mod.id)?.type}
{@const colorClasses = getNodeColorClasses(nodeState, false)}
{@const selected = selectionManager.isNodeSelected(mod.id)}
selectModule(mod)}
>
{moduleLabel(mod)}
{mod.id}
{/each}
{/snippet}
{/if}