Store cursor & line position when switching editor

When tearing down the source editor, we need to store the updated cursor
position, so that the position can be moved to when opening the rich
text editor.
This commit is contained in:
Alasdair Smith 2018-09-10 11:02:08 +01:00
parent eba14ee7d6
commit b6a4bb74f8
2 changed files with 8 additions and 3 deletions

View file

@ -516,6 +516,7 @@ define [
scope.$on '$destroy', () ->
if scope.sharejsDoc?
scope.$broadcast('changeEditor')
tearDownSpellCheck()
tearDownCursorPosition()
detachFromAce(scope.sharejsDoc)

View file

@ -3,12 +3,12 @@ define [], () ->
constructor: (@$scope, @adapter, @localStorage) ->
@$scope.$on 'editorInit', @jumpToPositionInNewDoc
@$scope.$on 'beforeChangeDocument', () =>
@storeCursorPosition()
@storeFirstVisibleLine()
@$scope.$on 'beforeChangeDocument', @storePositionAndLine
@$scope.$on 'afterChangeDocument', @jumpToPositionInNewDoc
@$scope.$on 'changeEditor', @storePositionAndLine
@$scope.$on "#{@$scope.name}:gotoLine", (e, line, column) =>
if line?
setTimeout () =>
@ -24,6 +24,10 @@ define [], () ->
@$scope.$on "#{@$scope.name}:clearSelection", (e) =>
@adapter.clearSelection()
storePositionAndLine: () =>
@storeCursorPosition()
@storeFirstVisibleLine()
jumpToPositionInNewDoc: () =>
@doc_id = @$scope.sharejsDoc?.doc_id
setTimeout () =>