diff --git a/demo/browser.js b/demo/browser.js
index 7b99587b..235e9ebd 100644
--- a/demo/browser.js
+++ b/demo/browser.js
@@ -321,15 +321,15 @@ function setupMenu() {
menuFX.addHTML('
');
menuFX.addLabel('Image Filters');
menuFX.addBool('Enabled', config.filter, 'enabled');
- menuFX.addRange('Image width', config.filter, 'width', 100, 3840, 10, (val) => config.filter.width = parseInt(val));
- menuFX.addRange('Image height', config.filter, 'height', 100, 2160, 10, (val) => config.filter.height = parseInt(val));
- menuFX.addRange('Brightness', config.filter, 'brightness', -1.0, 1.0, 0.05, (val) => config.filter.brightness = parseFloat(val));
- menuFX.addRange('Contrast', config.filter, 'contrast', -1.0, 1.0, 0.05, (val) => config.filter.contrast = parseFloat(val));
- menuFX.addRange('Sharpness', config.filter, 'sharpness', 0, 1.0, 0.05, (val) => config.filter.sharpness = parseFloat(val));
- menuFX.addRange('Blur', config.filter, 'blur', 0, 20, 1, (val) => config.filter.blur = parseInt(val));
- menuFX.addRange('Saturation', config.filter, 'saturation', -1.0, 1.0, 0.05, (val) => config.filter.saturation = parseFloat(val));
- menuFX.addRange('Hue', config.filter, 'hue', 0, 360, 5, (val) => config.filter.hue = parseInt(val));
- menuFX.addRange('Pixelate', config.filter, 'pixelate', 0, 32, 1, (val) => config.filter.pixelate = parseInt(val));
+ menuFX.addRange('Image width', config.filter, 'width', 100, 3840, 10);
+ menuFX.addRange('Image height', config.filter, 'height', 100, 2160, 10);
+ menuFX.addRange('Brightness', config.filter, 'brightness', -1.0, 1.0, 0.05);
+ menuFX.addRange('Contrast', config.filter, 'contrast', -1.0, 1.0, 0.05);
+ menuFX.addRange('Sharpness', config.filter, 'sharpness', 0, 1.0, 0.05);
+ menuFX.addRange('Blur', config.filter, 'blur', 0, 20, 1);
+ menuFX.addRange('Saturation', config.filter, 'saturation', -1.0, 1.0, 0.05);
+ menuFX.addRange('Hue', config.filter, 'hue', 0, 360, 5);
+ menuFX.addRange('Pixelate', config.filter, 'pixelate', 0, 32, 1);
menuFX.addBool('Negative', config.filter, 'negative');
menuFX.addBool('Sepia', config.filter, 'sepia');
menuFX.addBool('Vintage', config.filter, 'vintage');
diff --git a/demo/menu.js b/demo/menu.js
index 493efc06..014521d9 100644
--- a/demo/menu.js
+++ b/demo/menu.js
@@ -133,10 +133,15 @@ class Menu {
async addRange(title, object, variable, min, max, step, callback) {
const el = document.createElement('div');
el.className = 'menu-item';
- el.innerHTML = `${title}`;
+ const arr = Array.isArray(variable);
+ el.innerHTML = `${title}`;
this.container.appendChild(el);
el.addEventListener('change', (evt) => {
- object[variable] = evt.target.value;
+ const int = parseInt(evt.target.value) === parseFloat(evt.target.value);
+ const val = Array.isArray(variable) ? variable : [variable];
+ for (const item of val) {
+ object[item] = int ? parseInt(evt.target.value) : parseFloat(evt.target.value);
+ }
evt.target.setAttribute('value', evt.target.value);
if (callback) callback(evt.target.value);
});