X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/3b8ee3954e3f2834dae4b7a56d4fcecd5e8d03e6..refs/pull/4021/head:/resources/js/components/page-editor.js diff --git a/resources/js/components/page-editor.js b/resources/js/components/page-editor.js index 41e070b9d..950a5a3b3 100644 --- a/resources/js/components/page-editor.js +++ b/resources/js/components/page-editor.js @@ -1,5 +1,6 @@ import * as Dates from "../services/dates"; import {onSelect} from "../services/dom"; +import {debounce} from "../services/util"; import {Component} from "./component"; export class PageEditor extends Component { @@ -66,7 +67,8 @@ export class PageEditor extends Component { }); // Changelog controls - this.changelogInput.addEventListener('change', this.updateChangelogDisplay.bind(this)); + const updateChangelogDebounced = debounce(this.updateChangelogDisplay.bind(this), 300, false); + this.changelogInput.addEventListener('input', updateChangelogDebounced); // Draft Controls onSelect(this.saveDraftButton, this.saveDraft.bind(this)); @@ -196,7 +198,8 @@ export class PageEditor extends Component { event.preventDefault(); const link = event.target.closest('a').href; - const dialog = this.switchDialogContainer.components['confirm-dialog']; + /** @var {ConfirmDialog} **/ + const dialog = window.$components.firstOnElement(this.switchDialogContainer, 'confirm-dialog'); const [saved, confirmed] = await Promise.all([this.saveDraft(), dialog.show()]); if (saved && confirmed) { @@ -204,4 +207,4 @@ export class PageEditor extends Component { } } -} \ No newline at end of file +}