mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-28 18:22:40 +00:00
Restyle dialog with scrollpanel (#1212)
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="settings-container">
|
<div class="settings-container">
|
||||||
<div class="settings-sidebar">
|
<ScrollPanel class="settings-sidebar flex-shrink-0 p-2 w-64">
|
||||||
<SearchBox
|
<SearchBox
|
||||||
class="settings-search-box"
|
class="settings-search-box w-full mb-2"
|
||||||
v-model:modelValue="searchQuery"
|
v-model:modelValue="searchQuery"
|
||||||
@search="handleSearch"
|
@search="handleSearch"
|
||||||
:placeholder="$t('searchSettings') + '...'"
|
:placeholder="$t('searchSettings') + '...'"
|
||||||
@@ -13,11 +13,11 @@
|
|||||||
optionLabel="label"
|
optionLabel="label"
|
||||||
scrollHeight="100%"
|
scrollHeight="100%"
|
||||||
:disabled="inSearch"
|
:disabled="inSearch"
|
||||||
:pt="{ root: { class: 'border-none' } }"
|
class="border-none w-full"
|
||||||
/>
|
/>
|
||||||
</div>
|
</ScrollPanel>
|
||||||
<Divider layout="vertical" />
|
<Divider layout="vertical" />
|
||||||
<div class="settings-content">
|
<ScrollPanel class="settings-content flex-grow">
|
||||||
<Tabs :value="tabValue">
|
<Tabs :value="tabValue">
|
||||||
<TabPanels class="settings-tab-panels">
|
<TabPanels class="settings-tab-panels">
|
||||||
<TabPanel key="search-results" value="Search Results">
|
<TabPanel key="search-results" value="Search Results">
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
</TabPanel>
|
</TabPanel>
|
||||||
</TabPanels>
|
</TabPanels>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</div>
|
</ScrollPanel>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -83,6 +83,7 @@ import Tabs from 'primevue/tabs'
|
|||||||
import TabPanels from 'primevue/tabpanels'
|
import TabPanels from 'primevue/tabpanels'
|
||||||
import TabPanel from 'primevue/tabpanel'
|
import TabPanel from 'primevue/tabpanel'
|
||||||
import Divider from 'primevue/divider'
|
import Divider from 'primevue/divider'
|
||||||
|
import ScrollPanel from 'primevue/scrollpanel'
|
||||||
import { SettingTreeNode, useSettingStore } from '@/stores/settingStore'
|
import { SettingTreeNode, useSettingStore } from '@/stores/settingStore'
|
||||||
import { SettingParams } from '@/types/settingTypes'
|
import { SettingParams } from '@/types/settingTypes'
|
||||||
import SettingGroup from './setting/SettingGroup.vue'
|
import SettingGroup from './setting/SettingGroup.vue'
|
||||||
@@ -208,44 +209,8 @@ const tabValue = computed(() =>
|
|||||||
display: flex;
|
display: flex;
|
||||||
height: 70vh;
|
height: 70vh;
|
||||||
width: 60vw;
|
width: 60vw;
|
||||||
max-width: 1000px;
|
max-width: 1024px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
/* Prevents container from scrolling */
|
|
||||||
}
|
|
||||||
|
|
||||||
.settings-sidebar {
|
|
||||||
width: 250px;
|
|
||||||
flex-shrink: 0;
|
|
||||||
/* Prevents sidebar from shrinking */
|
|
||||||
overflow-y: auto;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.settings-search-box {
|
|
||||||
width: 100%;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.settings-content {
|
|
||||||
flex-grow: 1;
|
|
||||||
overflow-y: auto;
|
|
||||||
/* Allows vertical scrolling */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Ensure the Listbox takes full width of the sidebar */
|
|
||||||
.settings-sidebar :deep(.p-listbox) {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Optional: Style scrollbars for webkit browsers */
|
|
||||||
.settings-sidebar::-webkit-scrollbar,
|
|
||||||
.settings-content::-webkit-scrollbar {
|
|
||||||
width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.settings-sidebar::-webkit-scrollbar-thumb,
|
|
||||||
.settings-content::-webkit-scrollbar-thumb {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
|
|||||||
Reference in New Issue
Block a user