diff --git a/ui/media/js/image-modifiers.js b/ui/media/js/image-modifiers.js index a7a030ff..032c125f 100644 --- a/ui/media/js/image-modifiers.js +++ b/ui/media/js/image-modifiers.js @@ -129,7 +129,10 @@ function createModifierGroup(modifierGroup, initiallyExpanded, removeBy) { } function trimModifiers(tag) { - return tag.replace(/^\(+|\)+$/g, '').replace(/^\[+|\]+$/g, '') + // Remove trailing '-' and/or '+' + tag = tag.replace(/[-+]+$/, ''); + // Remove parentheses at beginning and end + return tag.replace(/^[(]+|[\s)]+$/g, ''); } async function loadModifiers() { diff --git a/ui/plugins/ui/Modifiers-wheel.plugin.js b/ui/plugins/ui/Modifiers-wheel.plugin.js index 322cca8f..0967a725 100644 --- a/ui/plugins/ui/Modifiers-wheel.plugin.js +++ b/ui/plugins/ui/Modifiers-wheel.plugin.js @@ -1,4 +1,8 @@ -(function () { "use strict" +(function () { + "use strict" + + const MAX_WEIGHT = 5 + if (typeof editorModifierTagsList !== 'object') { console.error('editorModifierTagsList missing...') return @@ -34,34 +38,42 @@ break } } + if (s.charAt(0) !== '(' && s.charAt(s.length - 1) !== ')' && s.trim().includes(' ')) { + s = '(' + s + ')' + t = '(' + t + ')' + } if (delta < 0) { // wheel scrolling up - if (s.substring(0, 1) == '[' && s.substring(s.length-1) == ']') { - s = s.substring(1, s.length - 1) - t = t.substring(1, t.length - 1) + if (s.substring(s.length - 1) == '-') { + s = s.substring(0, s.length - 1) + t = t.substring(0, t.length - 1) } else { - if (s.substring(0, 10) !== '('.repeat(10) && s.substring(s.length-10) !== ')'.repeat(10)) { - s = '(' + s + ')' - t = '(' + t + ')' + if (s.substring(s.length - MAX_WEIGHT) !== '+'.repeat(MAX_WEIGHT)) { + s = s + '+' + t = t + '+' } } } else{ // wheel scrolling down - if (s.substring(0, 1) == '(' && s.substring(s.length-1) == ')') { - s = s.substring(1, s.length - 1) - t = t.substring(1, t.length - 1) + if (s.substring(s.length - 1) == '+') { + s = s.substring(0, s.length - 1) + t = t.substring(0, t.length - 1) } else { - if (s.substring(0, 10) !== '['.repeat(10) && s.substring(s.length-10) !== ']'.repeat(10)) { - s = '[' + s + ']' - t = '[' + t + ']' + if (s.substring(s.length - MAX_WEIGHT) !== '-'.repeat(MAX_WEIGHT)) { + s = s + '-' + t = t + '-' } } } + if (s.charAt(0) === '(' && s.charAt(s.length - 1) === ')') { + s = s.substring(1, s.length - 1) + t = t.substring(1, t.length - 1) + } i.parentElement.getElementsByClassName('modifier-card-label')[0].getElementsByTagName("p")[0].innerText = s // update activeTags for (let it = 0; it < overlays.length; it++) {