Merge pull request 'properly saving on adding rows, changing enum length, changing enum params' (#14) from hotfix into main

Reviewed-on: https://gitea.lz-storage.synology.me/kieran-mcauliffe/max-mod-enum/pulls/14
This commit is contained in:
kieran-mcauliffe 2025-07-01 09:54:22 +02:00
commit e2f33b8ba7
2 changed files with 20 additions and 8 deletions

View File

@ -43,15 +43,19 @@ function Switch(props){
e('span', {className: 'slider round'}, null))
}
function SendSaveEvent(){
setTimeout(() => {
window.dispatchEvent(new CustomEvent('saveDict', {'detail' : "localStorage"}));
}, 50)
}
function CreateParamChanger(arr, setArr, index, postCB=() => {}, preCB=(val) => val){
return (event) => {
let newArr = arr.slice();
newArr[index] = preCB(event.target.value);
setArr(newArr);
postCB();
setTimeout(() => {
window.dispatchEvent(new CustomEvent('saveDict', {'detail' : "localStorage"}));
}, 50)
SendSaveEvent();
log(`${index} ${event.target.value}`);
}
@ -64,9 +68,7 @@ function CreateMatrixParamChanger(matrix, setMatrix, i, j){
});
newMatrix[i][j] = event.target.value;
setMatrix(newMatrix);
setTimeout(() => {
window.dispatchEvent(new CustomEvent('saveDict', {'detail' : "localStorage"}));
}, 50)
SendSaveEvent();
log(`${i}, ${j} ${event.target.value}`);
}

View File

@ -445,6 +445,7 @@ function MasterLfoHandler() {
allModSetters[j](array);
}
}
SendSaveEvent();
rerender(!render);
}
@ -454,6 +455,7 @@ function MasterLfoHandler() {
let newArr = modVisibleArr.slice();
newArr[id] = false;
setModVisibleArr(newArr);
SendSaveEvent();
}
}
@ -477,9 +479,15 @@ function MasterLfoHandler() {
enumItems: enumItemCounts[i],
setEnumItemCounts: CreateParamChanger(enumItemCounts, setEnumItemCounts, i),
enumBreakPoints: enumBreakPoints,
setEnumBreakPoints: setEnumBreakPoints,
setEnumBreakPoints: (val) => {
setEnumBreakPoints(val);
SendSaveEvent
},
enumNames: enumNames,
setEnumNames: setEnumNames,
setEnumNames: (val) => {
setEnumNames(val);
SendSaveEvent
},
visible: enumVisibleArr[i],
djParam: enumDjParamArr[i],
setDjParam: CreateParamChanger(enumDjParamArr, setEnumDjParamArr, i),
@ -525,6 +533,7 @@ function MasterLfoHandler() {
}
}
rerender(!render);
SendSaveEvent();
}
},
removeEnum: () => {
@ -532,6 +541,7 @@ function MasterLfoHandler() {
let newArr = enumVisibleArr.slice();
newArr[id] = false;
setEnumVisibleArr(newArr);
SendSaveEvent();
}
}
}, null)