mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2025-04-14 14:38:26 +02:00
* New engine.js first draft. * Small fixes... * Bump version for cache... * Improved cancellation code. * Cleaning * Wrong argument used in Task.waitUntil * session_id needs to always match SD.sessionId * Removed passing explicit Session ID from UI. Use SD.sessionID to replace. * Cleaning... Removed a disabled line and a hardcoded value. * Fix return if tasks are still waiting. * Added checkbox to reverse processing order. * Fixed progress not displaying properly. * Renamed reverse label. * Only hide progress bar inside onCompleted. * Thanks to rbertus2000 for helping testing and debugging! * Resolve async promises when used optionally. * when removed var should have used let, not const. * Renamed getTaskErrorHandler to onTaskErrorHandler to better reflect actual implementation. * Switched to the unsafer and less git friendly end of lines comma as requested in review. * Raised SERVER_STATE_VALIDITY_DURATION to 90 seconds to match the changes to Beta. * Added logging. * Added one more hook before those inside the SD engine. * Added selftest.plugin.js as part of core. * Removed a tests that wasn't yet implemented... * Groupped task stopping and abort in single function. * Added optional test for plugins. * Allow prompt text to be selected. * Added comment. * Improved isServerAvailable for better mobile usage and added comments for easier debugging. * Comments... * Normalized EVENT_STATUS_CHANGED to follow the same pattern as the other events. * Disable plugins if editorModifierTagsList is not defined. * Adds a new ServiceContainer to register IOC handlers. * Added expect test for a missing dependency in a ServiceContainer * Moved all event code in it's own sub class for easier reuse. * Removed forgotten unused var... * Allow getPrompts to be reused be plugins. * Renamed EventSource to GenericEventSource to avoid redefining an existing class name. * Added missing time argument to debounce * Added output_quality to engine.js * output_quality need to be an int. * Fixed typo. * Replaced the default euler_a by dpm2 to work with both SD1.# and SD2 * Remove generic completed tasks from plugins on generator complete. * dpm2 starts at step 2, replaced with plms to start at step 1. * Merge error * Merge error * changelog Co-authored-by: Marc-Andre Ferland <madrang@gmail.com>
66 lines
2.6 KiB
JavaScript
66 lines
2.6 KiB
JavaScript
(function () { "use strict"
|
|
if (typeof editorModifierTagsList !== 'object') {
|
|
console.error('editorModifierTagsList missing...')
|
|
return
|
|
}
|
|
|
|
// observe for changes in tag list
|
|
const observer = new MutationObserver(function (mutations) {
|
|
// mutations.forEach(function (mutation) {
|
|
if (editorModifierTagsList.childNodes.length > 0) {
|
|
ModifierMouseWheel(editorModifierTagsList)
|
|
}
|
|
// })
|
|
})
|
|
|
|
observer.observe(editorModifierTagsList, {
|
|
childList: true
|
|
})
|
|
|
|
function ModifierMouseWheel(target) {
|
|
let overlays = document.querySelector('#editor-inputs-tags-list').querySelectorAll('.modifier-card-overlay')
|
|
overlays.forEach (i => {
|
|
i.onwheel = (e) => {
|
|
if (e.ctrlKey == true) {
|
|
e.preventDefault()
|
|
|
|
const delta = Math.sign(event.deltaY)
|
|
let s = i.parentElement.getElementsByClassName('modifier-card-label')[0].getElementsByTagName("p")[0].innerText
|
|
if (delta < 0) {
|
|
// wheel scrolling up
|
|
if (s.substring(0, 1) == '[' && s.substring(s.length-1) == ']') {
|
|
s = s.substring(1, s.length - 1)
|
|
}
|
|
else
|
|
{
|
|
if (s.substring(0, 10) !== '('.repeat(10) && s.substring(s.length-10) !== ')'.repeat(10)) {
|
|
s = '(' + s + ')'
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
// wheel scrolling down
|
|
if (s.substring(0, 1) == '(' && s.substring(s.length-1) == ')') {
|
|
s = s.substring(1, s.length - 1)
|
|
}
|
|
else
|
|
{
|
|
if (s.substring(0, 10) !== '['.repeat(10) && s.substring(s.length-10) !== ']'.repeat(10)) {
|
|
s = '[' + s + ']'
|
|
}
|
|
}
|
|
}
|
|
i.parentElement.getElementsByClassName('modifier-card-label')[0].getElementsByTagName("p")[0].innerText = s
|
|
// update activeTags
|
|
for (let it = 0; it < overlays.length; it++) {
|
|
if (i == overlays[it]) {
|
|
activeTags[it].name = s
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
}
|
|
})()
|