in ui/src/main/frontend/js/cms.fields.js [32:93]
function uploadFile(meter, action, file) {
const formData = new FormData();
formData.append("*", file);
formData.append("*@TypeHint", "sling:File");
formData.append("_charset_", "utf-8");
const xhr = new XMLHttpRequest();
xhr.upload.addEventListener(
"loadstart",
() => {
setProgress(meter, 0);
},
false
);
xhr.upload.addEventListener(
"progress",
(event) => {
const percent = (event.loaded / event.total) * 100;
setProgress(meter, percent);
},
false
);
xhr.upload.addEventListener(
"load",
() => {
meter.classList.add("is-info");
},
false
);
xhr.addEventListener(
"readystatechange",
(event) => {
let status;
let text;
let readyState;
try {
readyState = event.target.readyState;
text = event.target.responseText;
status = event.target.status;
} catch (e) {
meter.classList.add("is-danger");
}
if (readyState === 4) {
meter.classList.remove("is-info");
if (status === 200 && text) {
meter.classList.add("is-success");
} else {
meter.classList.add("is-danger");
console.warn(
"Failed to upload %s, recieved message %s",
file.name,
text
); // eslint-disable-line no-console
}
}
},
false
);
xhr.open("POST", action, true);
xhr.send(formData);
}