43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
|
import Dialog from "../../tilorswift/js/dialog/Dialog.js";
|
||
|
|
||
|
export class LoadLevelDialog extends Dialog
|
||
|
{
|
||
|
constructor() {
|
||
|
super();
|
||
|
|
||
|
this.setMessage('Level laden');
|
||
|
this.fileInput = this.createFileInput(['json']);
|
||
|
|
||
|
this.onClose = () => {};
|
||
|
this.onLoad = () => {};
|
||
|
|
||
|
this.buttonLoad = this.createButton('Laden');
|
||
|
this.buttonLoad.addEventListener(
|
||
|
'click',
|
||
|
() => {
|
||
|
if (this.fileInput.files.length === 0) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
const reader = new FileReader();
|
||
|
reader.addEventListener(
|
||
|
'load',
|
||
|
(event) => {
|
||
|
this.onClose();
|
||
|
this.onLoad(event.target.result);
|
||
|
}
|
||
|
)
|
||
|
reader.readAsBinaryString(this.fileInput.files[0]);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
this.buttonCancel = this.createButton('Abbrechen');
|
||
|
this.buttonCancel.addEventListener(
|
||
|
'click',
|
||
|
() => {
|
||
|
this.onClose();
|
||
|
}
|
||
|
);
|
||
|
}
|
||
|
}
|