Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Overbill1683
Stable Diffusion Webui
提交
b2c428a0
S
Stable Diffusion Webui
项目概览
Overbill1683
/
Stable Diffusion Webui
11 个月 前同步成功
通知
1754
Star
81
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
分析
仓库
DevOps
项目成员
Pages
S
Stable Diffusion Webui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Pages
分析
分析
仓库分析
DevOps
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
提交
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
b2c428a0
编写于
3月 25, 2023
作者:
A
AUTOMATIC1111
提交者:
GitHub
3月 25, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #8839 from pieresimakp/master
Add search textbox to filter available extensions by name/description
上级
68953a47
9b2dcb04
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
31 addition
and
11 deletion
+31
-11
modules/ui_extensions.py
modules/ui_extensions.py
+31
-11
未找到文件。
modules/ui_extensions.py
浏览文件 @
b2c428a0
...
...
@@ -164,12 +164,12 @@ def install_extension_from_url(dirname, url):
shutil
.
rmtree
(
tmpdir
,
True
)
def
install_extension_from_index
(
url
,
hide_tags
,
sort_column
):
def
install_extension_from_index
(
url
,
hide_tags
,
sort_column
,
filter_text
):
ext_table
,
message
=
install_extension_from_url
(
None
,
url
)
code
,
_
=
refresh_available_extensions_from_data
(
hide_tags
,
sort_column
)
code
,
_
=
refresh_available_extensions_from_data
(
hide_tags
,
sort_column
,
filter_text
)
return
code
,
ext_table
,
message
return
code
,
ext_table
,
message
,
''
def
refresh_available_extensions
(
url
,
hide_tags
,
sort_column
):
...
...
@@ -183,11 +183,17 @@ def refresh_available_extensions(url, hide_tags, sort_column):
code
,
tags
=
refresh_available_extensions_from_data
(
hide_tags
,
sort_column
)
return
url
,
code
,
gr
.
CheckboxGroup
.
update
(
choices
=
tags
),
''
return
url
,
code
,
gr
.
CheckboxGroup
.
update
(
choices
=
tags
),
''
,
''
def
refresh_available_extensions_for_tags
(
hide_tags
,
sort_column
):
code
,
_
=
refresh_available_extensions_from_data
(
hide_tags
,
sort_column
)
def
refresh_available_extensions_for_tags
(
hide_tags
,
sort_column
,
filter_text
):
code
,
_
=
refresh_available_extensions_from_data
(
hide_tags
,
sort_column
,
filter_text
)
return
code
,
''
def
search_extensions
(
filter_text
,
hide_tags
,
sort_column
):
code
,
_
=
refresh_available_extensions_from_data
(
hide_tags
,
sort_column
,
filter_text
)
return
code
,
''
...
...
@@ -202,7 +208,7 @@ sort_ordering = [
]
def
refresh_available_extensions_from_data
(
hide_tags
,
sort_column
):
def
refresh_available_extensions_from_data
(
hide_tags
,
sort_column
,
filter_text
=
""
):
extlist
=
available_extensions
[
"extensions"
]
installed_extension_urls
=
{
normalize_git_url
(
extension
.
remote
):
extension
.
name
for
extension
in
extensions
.
extensions
}
...
...
@@ -241,6 +247,11 @@ def refresh_available_extensions_from_data(hide_tags, sort_column):
hidden
+=
1
continue
if
filter_text
and
filter_text
.
strip
():
if
filter_text
.
lower
()
not
in
html
.
escape
(
name
).
lower
()
and
filter_text
.
lower
()
not
in
html
.
escape
(
description
).
lower
():
hidden
+=
1
continue
install_code
=
f
"""<button onclick="install_extension_from_index(this, '
{
html
.
escape
(
url
)
}
')"
{
"disabled=disabled"
if
existing
else
""
}
class="lg secondary gradio-button custom-button">
{
"Install"
if
not
existing
else
"Installed"
}
</button>"""
tags_text
=
", "
.
join
([
f
"<span class='extension-tag' title='
{
tags
.
get
(
x
,
''
)
}
'>
{
x
}
</span>"
for
x
in
extension_tags
])
...
...
@@ -309,30 +320,39 @@ def create_ui():
hide_tags
=
gr
.
CheckboxGroup
(
value
=
[
"ads"
,
"localization"
,
"installed"
],
label
=
"Hide extensions with tags"
,
choices
=
[
"script"
,
"ads"
,
"localization"
,
"installed"
])
sort_column
=
gr
.
Radio
(
value
=
"newest first"
,
label
=
"Order"
,
choices
=
[
"newest first"
,
"oldest first"
,
"a-z"
,
"z-a"
,
"internal order"
,
],
type
=
"index"
)
with
gr
.
Row
():
search_extensions_text
=
gr
.
Text
(
label
=
"Search"
).
style
(
container
=
False
)
install_result
=
gr
.
HTML
()
available_extensions_table
=
gr
.
HTML
()
refresh_available_extensions_button
.
click
(
fn
=
modules
.
ui
.
wrap_gradio_call
(
refresh_available_extensions
,
extra_outputs
=
[
gr
.
update
(),
gr
.
update
(),
gr
.
update
()]),
inputs
=
[
available_extensions_index
,
hide_tags
,
sort_column
],
outputs
=
[
available_extensions_index
,
available_extensions_table
,
hide_tags
,
install_result
],
outputs
=
[
available_extensions_index
,
available_extensions_table
,
hide_tags
,
install_result
,
search_extensions_text
],
)
install_extension_button
.
click
(
fn
=
modules
.
ui
.
wrap_gradio_call
(
install_extension_from_index
,
extra_outputs
=
[
gr
.
update
(),
gr
.
update
()]),
inputs
=
[
extension_to_install
,
hide_tags
,
sort_column
],
inputs
=
[
extension_to_install
,
hide_tags
,
sort_column
,
search_extensions_text
],
outputs
=
[
available_extensions_table
,
extensions_table
,
install_result
],
)
search_extensions_text
.
change
(
fn
=
modules
.
ui
.
wrap_gradio_call
(
search_extensions
,
extra_outputs
=
[
gr
.
update
()]),
inputs
=
[
search_extensions_text
,
hide_tags
,
sort_column
],
outputs
=
[
available_extensions_table
,
install_result
],
)
hide_tags
.
change
(
fn
=
modules
.
ui
.
wrap_gradio_call
(
refresh_available_extensions_for_tags
,
extra_outputs
=
[
gr
.
update
()]),
inputs
=
[
hide_tags
,
sort_column
],
inputs
=
[
hide_tags
,
sort_column
,
search_extensions_text
],
outputs
=
[
available_extensions_table
,
install_result
]
)
sort_column
.
change
(
fn
=
modules
.
ui
.
wrap_gradio_call
(
refresh_available_extensions_for_tags
,
extra_outputs
=
[
gr
.
update
()]),
inputs
=
[
hide_tags
,
sort_column
],
inputs
=
[
hide_tags
,
sort_column
,
search_extensions_text
],
outputs
=
[
available_extensions_table
,
install_result
]
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录