diff --git a/src/asset_editor.js b/src/asset_editor.js index c465303..a10e24a 100644 --- a/src/asset_editor.js +++ b/src/asset_editor.js @@ -8,6 +8,7 @@ export class AssetEditor { this.toggleButton = rootEl.querySelector("#toggle-asset-editor-button"); this.container = rootEl; this.previewedName = null; + this.changeEventHandlers = []; if (localStorage.getItem("asset-editor-expanded")) { this.editor.style.display = "block"; @@ -32,6 +33,16 @@ export class AssetEditor { }); } + addChangeListener(callback) { + this.changeEventHandlers.push(callback); + } + + #emitChange() { + for (const handler of this.changeEventHandlers) { + handler(); + } + } + getAssets() { return this.store.getAll(); } @@ -43,6 +54,7 @@ export class AssetEditor { await this.addAsset({ name: asset.name, file: asset.file }); } + this.#emitChange(); this.renderList(); } @@ -76,12 +88,14 @@ export class AssetEditor { async addAsset({ name, file }) { await this.store.add(name, file); + this.#emitChange(); this.renderList(); } async deleteAsset(name) { await this.store.delete(name); + this.#emitChange(); this.renderList(); } diff --git a/src/html_exporter.js b/src/html_exporter.js index d940ee5..a1eab74 100644 --- a/src/html_exporter.js +++ b/src/html_exporter.js @@ -24,6 +24,7 @@ export class HtmlExporter { ${projectName}