mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-09-12 01:24:04 +00:00
Known issue: We need to clear any open handles to rules files when we upload a new one.
37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
function saveRulesFile() {
|
|
let button = document.getElementById('save_button');
|
|
let size = document.getElementById('size');
|
|
let ruleTextNew = document.getElementById('rules').value;
|
|
ruleTextNew = ruleTextNew.replace(/\\r?\\n/g, '\\r\\n');
|
|
let ruleNumber = document.getElementById('set').value;
|
|
let ruleTextFileData = new File([ruleTextNew], 'rules' + ruleNumber + '.txt', {
|
|
type: 'text/plain'
|
|
});
|
|
let formData = new FormData();
|
|
formData.append('file', ruleTextFileData);
|
|
formData.append('enctype', 'multipart/form-data');
|
|
let url = '/rules' + ruleNumber + '.txt?callback=' + Date.now();
|
|
fetch(url).then(res => res.text()).then((ruleTextOld) => {
|
|
if (ruleTextNew === ruleTextOld) {
|
|
console.log('nothing to save...');
|
|
} else {
|
|
let url = '/upload';
|
|
fetch(url, {
|
|
method: 'POST',
|
|
body: formData
|
|
}).then(
|
|
response => response.text()).then(html => {
|
|
let url = '/rules' + ruleNumber + '.txt?callback=' + Date.now();
|
|
fetch(url).then(res => res.text()).then((ruleTextNewCheck) => {
|
|
if (ruleTextNew === ruleTextNewCheck) {
|
|
toasting();
|
|
size.innerHTML = ruleTextNew.length;
|
|
} else {
|
|
console.log('error when saving...');
|
|
}
|
|
});
|
|
});
|
|
}
|
|
});
|
|
};
|