Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
ComfyUI
Commits
5c8b7ea0
Commit
5c8b7ea0
authored
Sep 09, 2023
by
comfyanonymous
Browse files
Merge branch 'round-float-widgets' of
https://github.com/chrisgoringe/ComfyUI
parents
cc2fa311
7372255e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
3 deletions
+11
-3
web/scripts/widgets.js
web/scripts/widgets.js
+11
-3
No files found.
web/scripts/widgets.js
View file @
5c8b7ea0
...
...
@@ -2,14 +2,19 @@ import { api } from "./api.js"
function
getNumberDefaults
(
inputData
,
defaultStep
)
{
let
defaultVal
=
inputData
[
1
][
"
default
"
];
let
{
min
,
max
,
step
}
=
inputData
[
1
];
let
{
min
,
max
,
step
,
round
,
precision
}
=
inputData
[
1
];
if
(
defaultVal
==
undefined
)
defaultVal
=
0
;
if
(
min
==
undefined
)
min
=
0
;
if
(
max
==
undefined
)
max
=
2048
;
if
(
step
==
undefined
)
step
=
defaultStep
;
// precision is the number of decimal places to show.
// by default, display the the smallest number of decimal places such that changes of size step are visible.
if
(
precision
==
undefined
)
precision
=
Math
.
max
(
-
Math
.
floor
(
Math
.
log10
(
step
)),
0
)
// by default, round the value to those decimal places shown.
if
(
round
==
undefined
)
round
=
Math
.
round
(
1000000
*
Math
.
pow
(
0.1
,
precision
))
/
1000000
;
return
{
val
:
defaultVal
,
config
:
{
min
,
max
,
step
:
10.0
*
step
}
};
return
{
val
:
defaultVal
,
config
:
{
min
,
max
,
step
:
10.0
*
step
,
round
,
precision
}
};
}
export
function
addValueControlWidget
(
node
,
targetWidget
,
defaultValue
=
"
randomize
"
,
values
)
{
...
...
@@ -264,7 +269,10 @@ export const ComfyWidgets = {
FLOAT
(
node
,
inputName
,
inputData
,
app
)
{
let
widgetType
=
isSlider
(
inputData
[
1
][
"
display
"
],
app
);
const
{
val
,
config
}
=
getNumberDefaults
(
inputData
,
0.5
);
return
{
widget
:
node
.
addWidget
(
widgetType
,
inputName
,
val
,
()
=>
{},
config
)
};
return
{
widget
:
node
.
addWidget
(
widgetType
,
inputName
,
val
,
function
(
v
)
{
this
.
value
=
Math
.
round
(
v
/
config
.
round
)
*
config
.
round
;
},
config
)
};
},
INT
(
node
,
inputName
,
inputData
,
app
)
{
let
widgetType
=
isSlider
(
inputData
[
1
][
"
display
"
],
app
);
...
...
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