Use the atom.views scheduler in TextEditorComponent

This ensures smooth scheduling interactions with autocomplete-plus
overlays so they measure their dimensions at the right time.
This commit is contained in:
Nathan Sobo
2017-03-22 12:58:51 -06:00
committed by Antonio Scandurra
parent 1676617218
commit 4707803416
3 changed files with 9 additions and 0 deletions

View File

@@ -135,6 +135,7 @@ class AtomEnvironment extends Model
@deserializers = new DeserializerManager(this)
@deserializeTimings = {}
@views = new ViewRegistry(this)
TextEditor.setScheduler(@views)
@notifications = new NotificationManager
@updateProcessEnv ?= updateProcessEnv # For testing

View File

@@ -24,6 +24,10 @@ function scaleMouseDragAutoscrollDelta (delta) {
module.exports =
class TextEditorComponent {
static setScheduler (scheduler) {
etch.setScheduler(scheduler)
}
static didUpdateScrollbarStyles () {
if (this.attachedComponents) {
this.attachedComponents.forEach((component) => {

View File

@@ -61,6 +61,10 @@ class TextEditor extends Model
@setClipboard: (clipboard) ->
@clipboard = clipboard
@setScheduler: (scheduler) ->
TextEditorComponent ?= require './text-editor-component'
TextEditorComponent.setScheduler(scheduler)
@didUpdateScrollbarStyles: ->
TextEditorComponent ?= require './text-editor-component'
TextEditorComponent.didUpdateScrollbarStyles()