{tr('workspaceTree.title')}
+
{#if loading}
{tr('common.loading')}
{:else if localError}
{localError}
{/if}
{#each workspaces as workspace (wsName(workspace))} {@const id = wsName(workspace)}
{#if renamingId === id}
{ if (e.key === 'Enter') commitRename(workspace); if (e.key === 'Escape') cancelRename(); }} />
commitRename(workspace)} title={tr('workspaceTree.saveRename')} type="button" disabled={busyId === id}>OK
{tr('common.cancel')}
{:else}
selectWorkspace(workspace)} type="button">{id}
startRename(workspace)} title={tr('workspaceTree.rename')} type="button" disabled={busyId === id}>
trashWorkspace(workspace)} title={tr('workspaceTree.trash')} type="button" disabled={busyId === id}>
{/if}
{/each}
{#if templateWarning}
{tr('workspaceTree.templateIncompleteCreated', { name: templateWarning.workspaceName })}
{#each templateWarning.issues as issue (issue.pluginId)}
{issue.name}: {issue.reason}
{/each}
{tr('common.close')}
{/if} {#if showCreate}
{tr('workspaceTree.new')}
{tr('common.close')}
{tr('pluginCard.name')}
event.key === 'Enter' && doCreate()} />
{tr('workspaceTree.template')}
{#each workspaceTemplates as template (template.id)}
{template.name}
{/each}
{#if selectedTemplate}
{selectedTemplate.description}
{#each selectedTemplateTools as tool (tool.pluginId)}
{tool.name}
{tool.tabs.length ? tr('workspaceTree.templateToolTabs', { tabs: tool.tabs.join(', ') }) : tr('workspaceTree.templateToolNoTabs')}
{tool.reason}
{/each}
{#if selectedTemplateIssues.length > 0}
{tr('workspaceTree.templateWillBeIncomplete')}
{/if}
{/if} {#if createError}
{createError}
{/if}
{creating ? tr('workspaceTree.creating') : tr('workspaceTree.create')}
{tr('common.cancel')}
{/if}