+ {#if workflow != null && layoutState != null}
+ {#key workflow.id}
+ {#key $layoutStates.refreshPropsPanel}
+ {#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={spec.multiline ? 5 : 1}
/>
- {:else if spec.type === "number"}
- updateAttribute(spec, target, e.detail)}
+ disabled={!$uiState.uiUnlocked || !spec.editable}
+ label={spec.name}
/>
- {: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={spec.multiline ? 5 : 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)}
+ on:change={(e) => updateAttribute(spec, target, e.detail)}
/>
{/if}
- {:else if validNodeVar(spec, node)}
+ {: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={spec.multiline ? 5 : 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={spec.multiline ? 5 : 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"}
updateVar(spec, e.detail)}
- on:input={(e) => updateVar(spec, e.detail)}
+ value={getWorkflowAttribute(spec)}
+ on:change={(e) => updateWorkflowAttribute(spec, e.detail)}
+ on:input={(e) => updateWorkflowAttribute(spec, e.detail)}
label={spec.name}
disabled={!$uiState.uiUnlocked || !spec.editable}
max_lines={spec.multiline ? 5 : 1}
/>
{:else if spec.type === "boolean"}
updateVar(spec, e.detail)}
+ value={getWorkflowAttribute(spec)}
+ on:change={(e) => updateWorkflowAttribute(spec, e.detail)}
disabled={!$uiState.uiUnlocked || !spec.editable}
label={spec.name}
/>
{:else if spec.type === "number"}
updateVar(spec, e.detail)}
+ on:change={(e) => updateWorkflowAttribute(spec, e.detail)}
/>
{:else if spec.type === "enum"}
updateVar(spec, e.detail)}
+ on:change={(e) => updateWorkflowAttribute(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={spec.multiline ? 5 : 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}
- {/each}
+ {/key}
{/key}
- {/key}
- {/if}
+ {/if}
+