1
0
Fork 0

Disable upload and save button if not yet ready

master
Martin Boonk 2022-02-20 18:59:42 +01:00
parent bd51747f10
commit 7569800e23
1 changed files with 26 additions and 3 deletions

View File

@ -24,6 +24,8 @@
var resultJson = {}; var resultJson = {};
var infoJson; var infoJson;
var faceJson; var faceJson;
var handledFiles = 0;
var expectedFiles = 0;
function imageLoaded() { function imageLoaded() {
var options = {}; var options = {};
@ -100,6 +102,14 @@
currentElement = currentElement[jsonPath[i]]; currentElement = currentElement[jsonPath[i]];
} }
} }
handledFiles++;
console.log("Expected:", expectedFiles, " handled:", handledFiles);
if (handledFiles == expectedFiles){
document.getElementById('btnSave').disabled = false;
document.getElementById('btnUpload').disabled = false;
}
} }
function handleWatchFace(infoFile, faceFile, resourceFiles){ function handleWatchFace(infoFile, faceFile, resourceFiles){
@ -140,6 +150,12 @@
} }
function handleFileSelect(event) { function handleFileSelect(event) {
handledFiles = 0;
expectedFiles = undefined;
document.getElementById('btnSave').disabled = true;
document.getElementById('btnUpload').disabled = true;
console.log("File select event", event); console.log("File select event", event);
if (event.target.files.length == 0) return; if (event.target.files.length == 0) return;
result = ""; result = "";
@ -154,6 +170,7 @@
if (current.webkitRelativePath.split("/")[1].startsWith("resources")){ if (current.webkitRelativePath.split("/")[1].startsWith("resources")){
console.log('Found resource file', current.name); console.log('Found resource file', current.name);
resourceFiles.push(current); resourceFiles.push(current);
expectedFiles = resourceFiles.length;
} else if (current.name == "face.json"){ } else if (current.name == "face.json"){
console.log('Found face file', current.name); console.log('Found face file', current.name);
faceFile = current; faceFile = current;
@ -193,6 +210,10 @@
function handleZipSelect(evt) { function handleZipSelect(evt) {
function handleFile(f) { function handleFile(f) {
expectedFiles = 0;
handledFiles = 0;
document.getElementById('btnSave').disabled = true;
document.getElementById('btnUpload').disabled = true;
JSZip.loadAsync(f).then(function(zip) { JSZip.loadAsync(f).then(function(zip) {
console.log("Zip loaded", zip); console.log("Zip loaded", zip);
@ -215,6 +236,7 @@
console.log("iterating over", relativePath); console.log("iterating over", relativePath);
if (!file.dir){ if (!file.dir){
expectedFiles++;
promise = promise.then(file.async("blob").then(function (blob) { promise = promise.then(file.async("blob").then(function (blob) {
var reader = new FileReader(); var reader = new FileReader();
console.log("Handling ", file.name, " with path ", relativePath); console.log("Handling ", file.name, " with path ", relativePath);
@ -251,7 +273,8 @@
document.getElementById('zipLoader').addEventListener('change', handleZipSelect, false); document.getElementById('zipLoader').addEventListener('change', handleZipSelect, false);
document.getElementById('btnSave').disabled = true;
document.getElementById('btnUpload').disabled = true;
</script> </script>