{#snippet flowVersionSelector()} Flow version {#if loadingVersions} Loading versions... {:else if flowVersions.length > 0} {#if flowVersionId && !runVersionInList} Same as run (v{flowVersionId}) {/if} {#each flowVersions as version, i (version.id)} {@const isLatest = i === 0} {@const isSameAsRun = flowVersionId !== undefined && version.id === flowVersionId} {formatVersionLabel(version)}{isSameAsRun ? ' (Same as run)' : isLatest ? ' (Latest)' : ''} {/each} {:else} No versions available {/if} {/snippet} {#snippet singleRestartButton()} { if (!flowPath) { handleRestart() } }} > Re-start from {selectedJobStep} {#if enterpriseOnly && disabled} (EE) {/if} {/snippet} {#if selectedJobStepType === 'single'} {#if !flowPath} {@render singleRestartButton()} {:else} { if (e.detail) loadFlowVersions() }} > {#snippet trigger()} {@render singleRestartButton()} {/snippet} {#snippet content()} {@render flowVersionSelector()} Restart {/snippet} {/if} {:else} { if (e.detail) loadFlowVersions() }} > {#snippet trigger()} Re-start from {selectedJobStep} {#if enterpriseOnly && disabled} (EE) {/if} {/snippet} {#snippet content()} {selectedJobStepType == 'forloop' ? 'From iteration #' : 'From branch'} {#if selectedJobStepType === 'forloop'} {:else} {#each restartBranchNames as [branchIdx, branchName] (branchIdx)} {branchName} {/each} {/if} {#if flowPath} {@render flowVersionSelector()} {/if} Restart {/snippet} {/if}