mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
Dispatch doc:changed and doc:saved events in a debounced timeout (#10024)
GitOrigin-RevId: a55602b448d8b97f224c658fee0a97d2473f8cd1
This commit is contained in:
@@ -704,21 +704,36 @@ export default Document = (function () {
|
||||
v: version,
|
||||
})
|
||||
})
|
||||
|
||||
let docChangedTimeout
|
||||
this.doc.on('change', (ops, oldSnapshot, msg) => {
|
||||
this._applyOpsToRanges(ops, oldSnapshot, msg)
|
||||
window.dispatchEvent(
|
||||
new CustomEvent('doc:changed', { detail: { id: this.doc_id } })
|
||||
)
|
||||
return this.ide.$scope.$emit('doc:changed', { doc_id: this.doc_id })
|
||||
if (docChangedTimeout) {
|
||||
window.clearTimeout(docChangedTimeout)
|
||||
}
|
||||
docChangedTimeout = window.setTimeout(() => {
|
||||
window.dispatchEvent(
|
||||
new CustomEvent('doc:changed', { detail: { id: this.doc_id } })
|
||||
)
|
||||
this.ide.$scope.$emit('doc:changed', { doc_id: this.doc_id })
|
||||
}, 50)
|
||||
})
|
||||
|
||||
this.doc.on('flipped_pending_to_inflight', () => {
|
||||
return this.trigger('flipped_pending_to_inflight')
|
||||
})
|
||||
return this.doc.on('saved', () => {
|
||||
window.dispatchEvent(
|
||||
new CustomEvent('doc:saved', { detail: { id: this.doc_id } })
|
||||
)
|
||||
return this.ide.$scope.$emit('doc:saved', { doc_id: this.doc_id })
|
||||
|
||||
let docSavedTimeout
|
||||
this.doc.on('saved', () => {
|
||||
if (docSavedTimeout) {
|
||||
window.clearTimeout(docSavedTimeout)
|
||||
}
|
||||
docSavedTimeout = window.setTimeout(() => {
|
||||
window.dispatchEvent(
|
||||
new CustomEvent('doc:saved', { detail: { id: this.doc_id } })
|
||||
)
|
||||
this.ide.$scope.$emit('doc:saved', { doc_id: this.doc_id })
|
||||
}, 50)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user