Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
Stable Diffusion Webui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
novelai-storage
Stable Diffusion Webui
Commits
a86c2794
Commit
a86c2794
authored
Sep 18, 2022
by
AUTOMATIC
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
script.js split work
parent
3f91de3c
Changes
3
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
391 deletions
+18
-391
javascript/dragdrop.js
javascript/dragdrop.js
+2
-256
modules/ui.py
modules/ui.py
+7
-2
script.js
script.js
+9
-133
No files found.
javascript/dragdrop.js
View file @
a86c2794
This diff is collapsed.
Click to expand it.
modules/ui.py
View file @
a86c2794
...
...
@@ -908,12 +908,17 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
with
open
(
os
.
path
.
join
(
script_path
,
"script.js"
),
"r"
,
encoding
=
"utf8"
)
as
jsfile
:
javascript
=
jsfile
.
read
()
javascript
=
f
'<script>{jsfile.read()}</script>'
jsdir
=
os
.
path
.
join
(
script_path
,
"javascript"
)
for
filename
in
os
.
listdir
(
jsdir
):
with
open
(
os
.
path
.
join
(
jsdir
,
filename
),
"r"
,
encoding
=
"utf8"
)
as
jsfile
:
javascript
+=
f
"
\n
<script>{jsfile.read()}</script>"
def
template_response
(
*
args
,
**
kwargs
):
res
=
gradio_routes_templates_response
(
*
args
,
**
kwargs
)
res
.
body
=
res
.
body
.
replace
(
b
'</head>'
,
f
'
<script>{javascript}</script>
</head>'
.
encode
(
"utf8"
))
res
.
body
=
res
.
body
.
replace
(
b
'</head>'
,
f
'
{javascript}
</head>'
.
encode
(
"utf8"
))
res
.
init_headers
()
return
res
...
...
script.js
View file @
a86c2794
...
...
@@ -76,91 +76,12 @@ function gradioApp(){
global_progressbar
=
null
function
closeModal
()
{
gradioApp
().
getElementById
(
"
lightboxModal
"
).
style
.
display
=
"
none
"
;
uiUpdateCallbacks
=
[]
function
onUiUpdate
(
callback
){
uiUpdateCallbacks
.
push
(
callback
)
}
function
showModal
(
event
)
{
var
source
=
event
.
target
||
event
.
srcElement
;
gradioApp
().
getElementById
(
"
modalImage
"
).
src
=
source
.
src
var
lb
=
gradioApp
().
getElementById
(
"
lightboxModal
"
)
lb
.
style
.
display
=
"
block
"
;
lb
.
focus
()
event
.
stopPropagation
()
}
function
negmod
(
n
,
m
)
{
return
((
n
%
m
)
+
m
)
%
m
;
}
function
modalImageSwitch
(
offset
){
var
galleryButtons
=
gradioApp
().
querySelectorAll
(
"
.gallery-item.transition-all
"
)
if
(
galleryButtons
.
length
>
1
){
var
currentButton
=
gradioApp
().
querySelector
(
"
.gallery-item.transition-all.
\\
!ring-2
"
)
var
result
=
-
1
galleryButtons
.
forEach
(
function
(
v
,
i
){
if
(
v
==
currentButton
)
{
result
=
i
}
})
if
(
result
!=
-
1
){
nextButton
=
galleryButtons
[
negmod
((
result
+
offset
),
galleryButtons
.
length
)]
nextButton
.
click
()
gradioApp
().
getElementById
(
"
modalImage
"
).
src
=
nextButton
.
children
[
0
].
src
setTimeout
(
function
(){
gradioApp
().
getElementById
(
"
lightboxModal
"
).
focus
()},
10
)
}
}
}
function
modalNextImage
(
event
){
modalImageSwitch
(
1
)
event
.
stopPropagation
()
}
function
modalPrevImage
(
event
){
modalImageSwitch
(
-
1
)
event
.
stopPropagation
()
}
function
modalKeyHandler
(
event
){
switch
(
event
.
key
)
{
case
"
ArrowLeft
"
:
modalPrevImage
(
event
)
break
;
case
"
ArrowRight
"
:
modalNextImage
(
event
)
break
;
}
}
function
showGalleryImage
(){
setTimeout
(
function
()
{
fullImg_preview
=
gradioApp
().
querySelectorAll
(
'
img.w-full.object-contain
'
)
if
(
fullImg_preview
!=
null
){
fullImg_preview
.
forEach
(
function
function_name
(
e
)
{
if
(
e
&&
e
.
parentElement
.
tagName
==
'
DIV
'
){
e
.
style
.
cursor
=
'
pointer
'
e
.
addEventListener
(
'
click
'
,
function
(
evt
)
{
showModal
(
evt
)
},
true
);
}
});
}
},
100
);
}
function
galleryImageHandler
(
e
){
if
(
e
&&
e
.
parentElement
.
tagName
==
'
BUTTON
'
){
e
.
onclick
=
showGalleryImage
;
}
}
function
addTitles
(
root
){
function
uiUpdate
(
root
){
root
.
querySelectorAll
(
'
span, button, select
'
).
forEach
(
function
(
span
){
tooltip
=
titles
[
span
.
textContent
];
...
...
@@ -207,62 +128,17 @@ function addTitles(root){
mutationObserver
.
observe
(
progressbar
,
{
childList
:
true
,
subtree
:
true
})
}
fullImg_preview
=
gradioApp
().
querySelectorAll
(
'
img.w-full
'
)
if
(
fullImg_preview
!=
null
){
fullImg_preview
.
forEach
(
galleryImageHandler
);
}
uiUpdateCallbacks
.
forEach
(
function
(
x
){
x
()
})
}
document
.
addEventListener
(
"
DOMContentLoaded
"
,
function
()
{
var
mutationObserver
=
new
MutationObserver
(
function
(
m
){
addTitles
(
gradioApp
());
uiUpdate
(
gradioApp
());
});
mutationObserver
.
observe
(
gradioApp
(),
{
childList
:
true
,
subtree
:
true
})
const
modalFragment
=
document
.
createDocumentFragment
();
const
modal
=
document
.
createElement
(
'
div
'
)
modal
.
onclick
=
closeModal
;
const
modalClose
=
document
.
createElement
(
'
span
'
)
modalClose
.
className
=
'
modalClose cursor
'
;
modalClose
.
innerHTML
=
'
×
'
modalClose
.
onclick
=
closeModal
;
modal
.
id
=
"
lightboxModal
"
;
modal
.
tabIndex
=
0
modal
.
addEventListener
(
'
keydown
'
,
modalKeyHandler
,
true
)
modal
.
appendChild
(
modalClose
)
const
modalImage
=
document
.
createElement
(
'
img
'
)
modalImage
.
id
=
'
modalImage
'
;
modalImage
.
onclick
=
closeModal
;
modalImage
.
tabIndex
=
0
modalImage
.
addEventListener
(
'
keydown
'
,
modalKeyHandler
,
true
)
modal
.
appendChild
(
modalImage
)
const
modalPrev
=
document
.
createElement
(
'
a
'
)
modalPrev
.
className
=
'
modalPrev
'
;
modalPrev
.
innerHTML
=
'
❮
'
modalPrev
.
tabIndex
=
0
modalPrev
.
addEventListener
(
'
click
'
,
modalPrevImage
,
true
);
modalPrev
.
addEventListener
(
'
keydown
'
,
modalKeyHandler
,
true
)
modal
.
appendChild
(
modalPrev
)
const
modalNext
=
document
.
createElement
(
'
a
'
)
modalNext
.
className
=
'
modalNext
'
;
modalNext
.
innerHTML
=
'
❯
'
modalNext
.
tabIndex
=
0
modalNext
.
addEventListener
(
'
click
'
,
modalNextImage
,
true
);
modalNext
.
addEventListener
(
'
keydown
'
,
modalKeyHandler
,
true
)
modal
.
appendChild
(
modalNext
)
gradioApp
().
getRootNode
().
appendChild
(
modal
)
document
.
body
.
appendChild
(
modalFragment
);
});
function
selected_gallery_index
(){
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment