import WoltlabCoreFileElement from "../File/woltlab-core-file";
function upload(fileList: HTMLElement, file: WoltlabCoreFileElement): void {
- // TODO: Any sort of upload indicator, meter, spinner, whatever?
const element = document.createElement("li");
element.classList.add("attachment__list__item");
element.append(file);
fileList.append(element);
void file.ready.then(() => {
- // TODO: Do something?
+ const thumbnail = file.thumbnails.find((thumbnail) => {
+ return thumbnail.identifier === "tiny";
+ });
+
+ if (thumbnail !== undefined) {
+ file.thumbnail = thumbnail;
+ }
});
}
}
uploadButton.addEventListener("uploadStart", (event: CustomEvent<WoltlabCoreFileElement>) => {
- // TODO: How do we keep track of the files being uploaded?
upload(fileList!, event.detail);
});
}
this.#readyResolve();
}
+ set thumbnail(thumbnail: Thumbnail) {
+ if (!this.#thumbnails.includes(thumbnail)) {
+ return;
+ }
+
+ this.#replaceWithImage(thumbnail.link);
+ }
+
get thumbnails(): Thumbnail[] {
return [...this.#thumbnails];
}
Object.defineProperty(exports, "__esModule", { value: true });
exports.setup = void 0;
function upload(fileList, file) {
- // TODO: Any sort of upload indicator, meter, spinner, whatever?
const element = document.createElement("li");
element.classList.add("attachment__list__item");
element.append(file);
fileList.append(element);
void file.ready.then(() => {
- // TODO: Do something?
+ const thumbnail = file.thumbnails.find((thumbnail) => {
+ return thumbnail.identifier === "tiny";
+ });
+ if (thumbnail !== undefined) {
+ file.thumbnail = thumbnail;
+ }
});
}
function setup(container) {
uploadButton.insertAdjacentElement("afterend", fileList);
}
uploadButton.addEventListener("uploadStart", (event) => {
- // TODO: How do we keep track of the files being uploaded?
upload(fileList, event.detail);
});
}
this.#rebuildElement();
this.#readyResolve();
}
+ set thumbnail(thumbnail) {
+ if (!this.#thumbnails.includes(thumbnail)) {
+ return;
+ }
+ this.#replaceWithImage(thumbnail.link);
+ }
get thumbnails() {
return [...this.#thumbnails];
}