mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-14 20:04:28 +00:00
Refactor saving cursor position to not use Ace event
This is will help with triggering CM correctly
This commit is contained in:
parent
ba9fa9a0be
commit
da77c06774
2 changed files with 9 additions and 8 deletions
services/web/public/coffee/ide/editor/directives
|
@ -308,6 +308,8 @@ define [
|
|||
editor.renderer.updateFontSize()
|
||||
|
||||
scope.$watch "sharejsDoc", (sharejs_doc, old_sharejs_doc) ->
|
||||
cursorPositionManager.onBeforeSessionChange(!!old_sharejs_doc)
|
||||
|
||||
if old_sharejs_doc?
|
||||
detachFromAce(old_sharejs_doc)
|
||||
|
||||
|
@ -382,7 +384,6 @@ define [
|
|||
editor.off 'nativecontextmenu', spellCheckManager.onContextMenu
|
||||
|
||||
onSessionChangeForCursorPosition = (e) ->
|
||||
cursorPositionManager.onSessionChange(e)
|
||||
e.oldSession?.selection.off 'changeCursor', cursorPositionManager.onCursorChange
|
||||
e.session.selection.on 'changeCursor', cursorPositionManager.onCursorChange
|
||||
|
||||
|
|
|
@ -19,9 +19,9 @@ define [], () ->
|
|||
init: () ->
|
||||
@emitCursorUpdateEvent()
|
||||
|
||||
onSessionChange: (e) =>
|
||||
if e.oldSession?
|
||||
@storeCursorPosition(e.oldSession)
|
||||
onBeforeSessionChange: (hasPrevSession = false) =>
|
||||
if hasPrevSession
|
||||
@storeCursorPosition()
|
||||
@storeFirstVisibleLine()
|
||||
|
||||
@doc_id = @$scope.sharejsDoc?.doc_id
|
||||
|
@ -30,8 +30,8 @@ define [], () ->
|
|||
@gotoStoredPosition()
|
||||
, 0
|
||||
|
||||
onUnload: (session) =>
|
||||
@storeCursorPosition(session)
|
||||
onUnload: () =>
|
||||
@storeCursorPosition()
|
||||
@storeFirstVisibleLine()
|
||||
|
||||
onCursorChange: () =>
|
||||
|
@ -43,10 +43,10 @@ define [], () ->
|
|||
docPosition.firstVisibleLine = @adapter.getEditorScrollPosition()
|
||||
@localStorage("doc.position.#{@doc_id}", docPosition)
|
||||
|
||||
storeCursorPosition: (session) ->
|
||||
storeCursorPosition: () ->
|
||||
if @doc_id?
|
||||
docPosition = @localStorage("doc.position.#{@doc_id}") || {}
|
||||
docPosition.cursorPosition = @adapter.getCursorForSession(session)
|
||||
docPosition.cursorPosition = @adapter.getCursor()
|
||||
@localStorage("doc.position.#{@doc_id}", docPosition)
|
||||
|
||||
emitCursorUpdateEvent: () ->
|
||||
|
|
Loading…
Add table
Reference in a new issue