Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Overbill1683
Stable Diffusion Webui
提交
ccee26b0
S
Stable Diffusion Webui
项目概览
Overbill1683
/
Stable Diffusion Webui
10 个月 前同步成功
通知
1735
Star
81
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
分析
仓库
DevOps
项目成员
Pages
S
Stable Diffusion Webui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Pages
分析
分析
仓库分析
DevOps
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
提交
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ccee26b0
编写于
1月 16, 2024
作者:
S
Sj-Si
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bugs
上级
4f962670
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
35 deletion
+31
-35
javascript/extraNetworks.js
javascript/extraNetworks.js
+12
-16
modules/ui_extra_networks.py
modules/ui_extra_networks.py
+18
-17
modules/ui_extra_networks_checkpoints.py
modules/ui_extra_networks_checkpoints.py
+1
-2
未找到文件。
javascript/extraNetworks.js
浏览文件 @
ccee26b0
...
...
@@ -31,11 +31,12 @@ function setupExtraNetworksForTab(tabname) {
var
this_tab
=
gradioApp
().
querySelector
(
'
#
'
+
tabname
+
'
_extra_tabs
'
);
this_tab
.
classList
.
add
(
'
extra-networks
'
);
this_tab
.
querySelectorAll
(
"
:scope > [id^='
"
+
tabname
+
"
_']
"
).
forEach
(
function
(
elem
)
{
var
extra_networks_tabname
=
elem
.
id
;
var
search
=
gradioApp
().
querySelector
(
"
#
"
+
extra_networks_tabname
+
"
_extra_search
"
);
var
sort_mode
=
gradioApp
().
querySelector
(
"
#
"
+
extra_networks_tabname
+
"
_extra_sort
"
);
var
sort_dir
=
gradioApp
().
querySelector
(
"
#
"
+
extra_networks_tabname
+
"
_extra_sort_dir
"
);
var
refresh
=
gradioApp
().
querySelector
(
"
#
"
+
extra_networks_tabname
+
"
_extra_refresh
"
);
// tabname_full = {tabname}_{extra_networks_tabname}
var
tabname_full
=
elem
.
id
;
var
search
=
gradioApp
().
querySelector
(
"
#
"
+
tabname_full
+
"
_extra_search
"
);
var
sort_mode
=
gradioApp
().
querySelector
(
"
#
"
+
tabname_full
+
"
_extra_sort
"
);
var
sort_dir
=
gradioApp
().
querySelector
(
"
#
"
+
tabname_full
+
"
_extra_sort_dir
"
);
var
refresh
=
gradioApp
().
querySelector
(
"
#
"
+
tabname_full
+
"
_extra_refresh
"
);
// If any of the buttons above don't exist, we want to skip this iteration of the loop.
if
(
!
search
||
!
sort_mode
||
!
sort_dir
||
!
refresh
)
{
...
...
@@ -44,16 +45,13 @@ function setupExtraNetworksForTab(tabname) {
var
applyFilter
=
function
()
{
var
searchTerm
=
search
.
value
.
toLowerCase
();
gradioApp
().
querySelectorAll
(
'
#
'
+
tabname
+
'
_extra_tabs div.card
'
).
forEach
(
function
(
elem
)
{
var
searchOnly
=
elem
.
querySelector
(
'
.search_only
'
);
var
text
=
Array
.
prototype
.
map
.
call
(
elem
.
querySelectorAll
(
'
.search_terms
'
),
function
(
t
)
{
return
t
.
textContent
.
toLowerCase
();
}).
join
(
"
"
);
var
visible
=
text
.
indexOf
(
searchTerm
)
!=
-
1
;
if
(
searchOnly
&&
searchTerm
.
length
<
4
)
{
visible
=
false
;
}
...
...
@@ -66,7 +64,6 @@ function setupExtraNetworksForTab(tabname) {
var
applySort
=
function
()
{
var
cards
=
gradioApp
().
querySelectorAll
(
'
#
'
+
tabname
+
'
_extra_tabs div.card
'
);
var
reverse
=
sort_dir
.
dataset
.
sortdir
==
"
Descending
"
;
var
sortKey
=
sort_mode
.
dataset
.
sortmode
.
toLowerCase
().
replace
(
"
sort
"
,
""
).
replaceAll
(
"
"
,
"
_
"
).
replace
(
/_+$/
,
""
).
trim
()
||
"
name
"
;
sortKey
=
"
sort
"
+
sortKey
.
charAt
(
0
).
toUpperCase
()
+
sortKey
.
slice
(
1
);
...
...
@@ -104,9 +101,8 @@ function setupExtraNetworksForTab(tabname) {
search
.
addEventListener
(
"
input
"
,
applyFilter
);
applySort
();
applyFilter
();
extraNetworksApplySort
[
extra_networks_tabname
]
=
applySort
;
extraNetworksApplyFilter
[
extra_networks_tabname
]
=
applyFilter
;
extraNetworksApplySort
[
tabname_full
]
=
applySort
;
extraNetworksApplyFilter
[
tabname_full
]
=
applyFilter
;
});
registerPrompt
(
tabname
,
tabname
+
"
_prompt
"
);
...
...
@@ -147,12 +143,12 @@ function extraNetworksTabSelected(tabname, id, showPrompt, showNegativePrompt) {
extraNetworksMovePromptToTab
(
tabname
,
id
,
showPrompt
,
showNegativePrompt
);
}
function
applyExtraNetworkFilter
(
tabname
)
{
setTimeout
(
extraNetworksApplyFilter
[
tabname
],
1
);
function
applyExtraNetworkFilter
(
tabname
_full
)
{
setTimeout
(
extraNetworksApplyFilter
[
tabname
_full
],
1
);
}
function
applyExtraNetworkSort
(
tabname
)
{
setTimeout
(
extraNetworksApplySort
[
tabname
],
1
);
function
applyExtraNetworkSort
(
tabname
_full
)
{
setTimeout
(
extraNetworksApplySort
[
tabname
_full
],
1
);
}
var
extraNetworksApplyFilter
=
{};
...
...
modules/ui_extra_networks.py
浏览文件 @
ccee26b0
...
...
@@ -237,7 +237,7 @@ class ExtraNetworksPage:
"tabname"
:
tabname
,
"prompt"
:
item
[
"prompt"
],
"neg_prompt"
:
item
.
get
(
"negative_prompt"
,
""
),
"allow_neg"
:
"true"
if
self
.
allow_negative_prompt
else
"false"
"allow_neg"
:
str
(
self
.
allow_negative_prompt
).
lower
(),
}
)
onclick
=
html
.
escape
(
onclick
)
...
...
@@ -291,7 +291,7 @@ class ExtraNetworksPage:
search_terms_html
+=
search_term_template
.
format
(
**
{
"style"
:
"display: none;"
,
"class"
:
"search_terms"
+
(
" search_only"
if
search_only
else
""
)
,
"class"
:
f
"search_terms
{
' search_only'
if
search_only
else
''
}
"
,
"search_term"
:
search_term
,
}
)
...
...
@@ -307,7 +307,7 @@ class ExtraNetworksPage:
"metadata_button"
:
btn_metadata
,
"name"
:
html
.
escape
(
item
[
"name"
]),
"prompt"
:
item
.
get
(
"prompt"
,
None
),
"save_card_preview"
:
'"'
+
html
.
escape
(
f
"""return saveCardPreview(event,
{
quote_js
(
tabname
)
}
,
{
quote_js
(
item
[
"local_preview"
])
}
)"""
)
+
'"'
,
"save_card_preview"
:
html
.
escape
(
f
"return saveCardPreview(event, '
{
tabname
}
', '
{
item
[
'local_preview'
]
}
');"
)
,
"search_only"
:
" search_only"
if
search_only
else
""
,
"search_terms"
:
search_terms_html
,
"sort_keys"
:
sort_keys
,
...
...
@@ -369,7 +369,7 @@ class ExtraNetworksPage:
ul
=
f
"<ul class='tree-list tree-list--subgroup' hidden>
{
content
}
</ul>"
return
(
"<li class='tree-list-item tree-list-item--has-subitem' data-tree-entry-type='dir'>"
f
"
{
btn
+
ul
}
"
f
"
{
btn
}{
ul
}
"
"</li>"
)
...
...
@@ -561,7 +561,7 @@ class ExtraNetworksPage:
Find a preview PNG for a given path (without extension) and call link_preview on it.
"""
potential_files
=
sum
([[
path
+
"."
+
ext
,
path
+
".preview."
+
ext
]
for
ext
in
allowed_preview_extensions
()],
[])
potential_files
=
sum
([[
f
"
{
path
}
.
{
ext
}
"
,
f
"
{
path
}
.preview.
{
ext
}
"
]
for
ext
in
allowed_preview_extensions
()],
[])
for
file
in
potential_files
:
if
self
.
lister
.
exists
(
file
):
...
...
@@ -642,7 +642,7 @@ def create_ui(interface: gr.Blocks, unrelated_tabs, tabname):
related_tabs
=
[]
button_refresh
=
gr
.
Button
(
"Refresh"
,
elem_id
=
tabname
+
"
_extra_refresh_internal"
,
visible
=
False
)
button_refresh
=
gr
.
Button
(
"Refresh"
,
elem_id
=
f
"
{
tabname
}
_extra_refresh_internal"
,
visible
=
False
)
for
page
in
ui
.
stored_extra_pages
:
with
gr
.
Tab
(
page
.
title
,
elem_id
=
f
"
{
tabname
}
_
{
page
.
extra_networks_tabname
}
"
,
elem_classes
=
[
"extra-page"
])
as
tab
:
...
...
@@ -652,24 +652,25 @@ def create_ui(interface: gr.Blocks, unrelated_tabs, tabname):
elem_id
=
f
"
{
tabname
}
_
{
page
.
extra_networks_tabname
}
_cards_html"
page_elem
=
gr
.
HTML
(
'Loading...'
,
elem_id
=
elem_id
)
ui
.
pages
.
append
(
page_elem
)
page_elem
.
change
(
fn
=
lambda
:
None
,
_js
=
f
"function(){{applyExtraNetworkFilter(
{
tabname
}
_
{
page
.
extra_networks_tabname
}
_extra_search); return []}}"
,
inputs
=
[],
outputs
=
[],
)
editor
=
page
.
create_user_metadata_editor
(
ui
,
tabname
)
editor
.
create_ui
()
ui
.
user_metadata_editors
.
append
(
editor
)
related_tabs
.
append
(
tab
)
ui
.
button_save_preview
=
gr
.
Button
(
'Save preview'
,
elem_id
=
tabname
+
"
_save_preview"
,
visible
=
False
)
ui
.
preview_target_filename
=
gr
.
Textbox
(
'Preview save filename'
,
elem_id
=
tabname
+
"
_preview_filename"
,
visible
=
False
)
ui
.
button_save_preview
=
gr
.
Button
(
'Save preview'
,
elem_id
=
f
"
{
tabname
}
_save_preview"
,
visible
=
False
)
ui
.
preview_target_filename
=
gr
.
Textbox
(
'Preview save filename'
,
elem_id
=
f
"
{
tabname
}
_preview_filename"
,
visible
=
False
)
for
tab
in
unrelated_tabs
:
tab
.
select
(
fn
=
None
,
_js
=
'function(){ extraNetworksUrelatedTabSelected("'
+
tabname
+
'"); }'
,
inputs
=
[],
outputs
=
[],
show_progress
=
False
)
tab
.
select
(
fn
=
None
,
_js
=
f
"function(){{extraNetworksUnrelatedTabSelected('
{
tabname
}
');}}"
,
inputs
=
[],
outputs
=
[],
show_progress
=
False
)
for
page
,
tab
in
zip
(
ui
.
stored_extra_pages
,
related_tabs
):
jscode
=
(
"function(){{"
f
"extraNetworksTabSelected('
{
tabname
}
', '
{
tabname
}
_
{
page
.
extra_networks_tabname
}
_prompts',
{
str
(
page
.
allow_prompt
).
lower
()
}
,
{
str
(
page
.
allow_negative_prompt
).
lower
()
}
);"
f
"applyExtraNetworkFilter('
{
tabname
}
_
{
page
.
extra_networks_tabname
}
');"
"}}"
)
tab
.
select
(
fn
=
None
,
_js
=
jscode
,
inputs
=
[],
outputs
=
[],
show_progress
=
False
)
def
create_html
():
ui
.
pages_contents
=
[
pg
.
create_html
(
ui
.
tabname
)
for
pg
in
ui
.
stored_extra_pages
]
...
...
modules/ui_extra_networks_checkpoints.py
浏览文件 @
ccee26b0
...
...
@@ -2,7 +2,6 @@ import html
import
os
from
modules
import
shared
,
ui_extra_networks
,
sd_models
from
modules.ui_extra_networks
import
quote_js
from
modules.ui_extra_networks_checkpoints_user_metadata
import
CheckpointUserMetadataEditor
...
...
@@ -31,7 +30,7 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
"preview"
:
self
.
find_preview
(
path
),
"description"
:
self
.
find_description
(
path
),
"search_terms"
:
search_terms
,
"onclick"
:
'"'
+
html
.
escape
(
f
"""return selectCheckpoint(
{
quote_js
(
name
)
}
)"""
)
+
'"'
,
"onclick"
:
html
.
escape
(
f
"return selectCheckpoint('
{
name
}
');"
)
,
"local_preview"
:
f
"
{
path
}
.
{
shared
.
opts
.
samples_format
}
"
,
"metadata"
:
checkpoint
.
metadata
,
"sort_keys"
:
{
'default'
:
index
,
**
self
.
get_sort_keys
(
checkpoint
.
filename
)},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录