Cursor fixes, show/hide all framework

This commit is contained in:
Austin Mroz
2025-09-11 15:10:48 -05:00
parent 4016929070
commit 1e72ed8a78
2 changed files with 61 additions and 3 deletions

View File

@@ -75,7 +75,7 @@ function toggleVisibility(nodeId, widgetName, isShown) {
} }
const candidateWidgets = computed(() => { const candidateWidgets = computed(() => {
const node = canvasStore.selectedItems[0] ?? {} const node = canvasStore.selectedItems[0]
if(!node) return [] if(!node) return []
triggerUpdate.value//mark dependent triggerUpdate.value//mark dependent
const pw = node.properties.proxyWidgets ?? [] const pw = node.properties.proxyWidgets ?? []
@@ -99,6 +99,13 @@ const filteredCandidates = computed(() => {
|| w.name.toLowerCase().includes(query) || w.name.toLowerCase().includes(query)
) )
}) })
function showAll() {
console.log('showall')
}
function hideAll() {
console.log('hideall')
}
const filteredActive = computed(() => { const filteredActive = computed(() => {
const query = searchQuery.value.toLowerCase() const query = searchQuery.value.toLowerCase()
if (!query) { if (!query) {
@@ -127,6 +134,10 @@ const filteredActive = computed(() => {
</template> </template>
<template #body> <template #body>
<div class="widgets-section"> <div class="widgets-section">
<div class="widgets-section-header">
<div> {{t('subgraphStore.shown')}}</div>
<a @click.stop="showAll" > {{t('subgraphStore.showAll')}}</a>
</div>
<div v-if="searchQuery" <div v-if="searchQuery"
v-for="element in filteredActive" class="widget-container"> v-for="element in filteredActive" class="widget-container">
<SubgraphNodeWidget :item="element" :node="activeNode" <SubgraphNodeWidget :item="element" :node="activeNode"
@@ -135,7 +146,9 @@ const filteredActive = computed(() => {
<draggable <draggable
v-model="activeWidgets" v-model="activeWidgets"
group="enabledWidgets" group="enabledWidgets"
class="widget-container" class="widget-container draggable-item"
chosenClass="dragged-item"
dragClass="dragged-item"
:animation="100" :animation="100"
@start="drag=true" @start="drag=true"
@end="drag=false" @end="drag=false"
@@ -148,6 +161,10 @@ const filteredActive = computed(() => {
</draggable> </draggable>
</div> </div>
<div class="widgets-section"> <div class="widgets-section">
<div class="widgets-section-header">
<div> {{t('subgraphStore.hidden')}}</div>
<a @click.stop="hideAll"> {{t('subgraphStore.hideAll')}}</a>
</div>
<div v-for="element in filteredCandidates" class="widget-container"> <div v-for="element in filteredCandidates" class="widget-container">
<SubgraphNodeWidget :item="element" :node="activeNode" <SubgraphNodeWidget :item="element" :node="activeNode"
:toggleVisibility="toggleVisibility"/> :toggleVisibility="toggleVisibility"/>
@@ -160,6 +177,36 @@ const filteredActive = computed(() => {
.widget-container { .widget-container {
width: 100% width: 100%
} }
.widgets-section-header {
display: flex;
padding: 0 16px;
justify-content: space-between;
align-items: flex-end;
align-self: stretch;
}
.widgets-section-header div {
color: var(--color-text-secondary, #9C9EAB);
/* body-text-badge */
font-family: Inter;
font-size: 9px;
font-style: normal;
font-weight: 600;
line-height: normal;
text-transform: uppercase;
}
.widgets-section-header a {
cursor: pointer;
color: var(--color-base-blue-primary, #0B8CE9);
text-align: right;
/* body-text-caption */
font-family: Inter;
font-size: 11px;
font-style: normal;
font-weight: 400;
line-height: normal;
}
.widgets-section { .widgets-section {
display: flex; display: flex;
@@ -169,4 +216,11 @@ const filteredActive = computed(() => {
align-self: stretch; align-self: stretch;
border-bottom: 1px solid var(--color-node-divider, #2E3037); border-bottom: 1px solid var(--color-node-divider, #2E3037);
} }
.dragged-item {
cursor: grabbing;
}
.draggable-item {
cursor: grab;
}
</style> </style>

View File

@@ -963,7 +963,11 @@
"publish": "Publish Subgraph", "publish": "Publish Subgraph",
"publishSuccess": "Saved to Nodes Library", "publishSuccess": "Saved to Nodes Library",
"publishSuccessMessage": "You can find your subgraph blueprint in the nodes library under \"Subgraph Blueprints\"", "publishSuccessMessage": "You can find your subgraph blueprint in the nodes library under \"Subgraph Blueprints\"",
"loadFailure": "Failed to load subgraph blueprints" "loadFailure": "Failed to load subgraph blueprints",
"shown": "Shown on node",
"showAll": "Show all",
"hidden": "Hidden / nested parameters",
"hideAll": "Hide all"
}, },
"electronFileDownload": { "electronFileDownload": {
"inProgress": "In Progress", "inProgress": "In Progress",