{target?.attrs?.title || node?.title || "Workflow"} {#if targetType !== ""} ({targetType}) {/if}
{#key $refreshPanel} {#each ALL_ATTRIBUTES as category(category.categoryName)}
{category.categoryName}
{#each category.specs as spec(spec.id)} {#if validWidgetAttribute(spec, target)}
{#if spec.type === "string"} updateAttribute(spec, target, e.detail)} on:input={(e) => updateAttribute(spec, target, e.detail)} disabled={!$uiState.uiUnlocked || !spec.editable} label={spec.name} max_lines={1} /> {:else if spec.type === "boolean"} updateAttribute(spec, target, e.detail)} disabled={!$uiState.uiUnlocked || !spec.editable} label={spec.name} /> {:else if spec.type === "number"} updateAttribute(spec, target, e.detail)} /> {:else if spec.type === "enum"} updateAttribute(spec, target, e.detail)} /> {/if}
{:else if node} {#if validNodeProperty(spec, node)}
{#if spec.type === "string"} updateProperty(spec, e.detail)} on:input={(e) => updateProperty(spec, e.detail)} label={spec.name} disabled={!$uiState.uiUnlocked || !spec.editable} max_lines={1} /> {:else if spec.type === "boolean"} updateProperty(spec, e.detail)} /> {:else if spec.type === "number"} updateProperty(spec, e.detail)} /> {:else if spec.type === "enum"} updateProperty(spec, e.detail)} /> {/if}
{:else if validNodeVar(spec, node)}
{#if spec.type === "string"} updateVar(spec, e.detail)} on:input={(e) => updateVar(spec, e.detail)} label={spec.name} disabled={!$uiState.uiUnlocked || !spec.editable} max_lines={1} /> {:else if spec.type === "boolean"} updateVar(spec, e.detail)} disabled={!$uiState.uiUnlocked || !spec.editable} label={spec.name} /> {:else if spec.type === "number"} updateVar(spec, e.detail)} /> {:else if spec.type === "enum"} updateVar(spec, e.detail)} /> {/if}
{/if} {:else if !node && !target && validWorkflowAttribute(spec)}
{#if spec.type === "string"} updateWorkflowAttribute(spec, e.detail)} on:input={(e) => updateWorkflowAttribute(spec, e.detail)} label={spec.name} disabled={!$uiState.uiUnlocked || !spec.editable} max_lines={1} /> {:else if spec.type === "boolean"} updateWorkflowAttribute(spec, e.detail)} disabled={!$uiState.uiUnlocked || !spec.editable} label={spec.name} /> {:else if spec.type === "number"} updateWorkflowAttribute(spec, e.detail)} /> {:else if spec.type === "enum"} updateWorkflowAttribute(spec, e.detail)} /> {/if}
{/if} {/each} {/each} {/key}