Skip to content
37 changes: 36 additions & 1 deletion src/components/rightSidePanel/parameters/TabNormalInputs.vue
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,37 @@ const { t } = useI18n()
const rightSidePanelStore = useRightSidePanelStore()
const { searchQuery } = storeToRefs(rightSidePanelStore)

const advancedInputsCollapsed = ref(true)

const widgetsSectionDataList = computed((): NodeWidgetsListList => {
return nodes.map((node) => {
const { widgets = [] } = node
const shownWidgets = widgets
.filter((w) => !(w.options?.canvasOnly || w.options?.hidden))
.filter(
(w) =>
!(w.options?.canvasOnly || w.options?.hidden || w.options?.advanced)
)
.map((widget) => ({ node, widget }))

return { widgets: shownWidgets, node }
})
})

const advancedWidgetsSectionDataList = computed((): NodeWidgetsListList => {
return nodes
.map((node) => {
const { widgets = [] } = node
const advancedWidgets = widgets
.filter(
(w) =>
!(w.options?.canvasOnly || w.options?.hidden) && w.options?.advanced
)
.map((widget) => ({ node, widget }))
return { widgets: advancedWidgets, node }
})
.filter(({ widgets }) => widgets.length > 0)
})

const isMultipleNodesSelected = computed(
() => widgetsSectionDataList.value.length > 1
)
Expand Down Expand Up @@ -93,4 +113,19 @@ const label = computed(() => {
class="border-b border-interface-stroke"
/>
</TransitionGroup>
<template
v-if="
advancedWidgetsSectionDataList.some(({ widgets }) => widgets.length > 0)
"
>
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
<SectionWidgets
v-for="{ widgets, node } in advancedWidgetsSectionDataList"
:key="`advanced-${node.id}`"
v-model:collapse="advancedInputsCollapsed"
:node
:label="t('rightSidePanel.advancedInputs')"
:widgets
class="border-b border-interface-stroke"
/>
</template>
</template>