Эх сурвалжийг харах

Add toolbar with button to toggle rich text

Alasdair Smith 8 жил өмнө
parent
commit
b9327cb2d4

+ 10 - 1
services/web/app/views/project/editor/editor.pug

@@ -30,9 +30,12 @@ div.full-size(
 				i.fa.fa-arrow-left
 				|   #{translate("open_a_file_on_the_left")}
 
+		.toolbar.toolbar-editor(ng-controller="EditorToolbarController")
+			button(ng-click="toggleRichText()") Rich Text
+
 		#editor(
 			ace-editor="editor",
-			ng-show="!!editor.sharejs_doc && !editor.opening"
+			ng-if="!!editor.sharejs_doc && !editor.opening && !editor.richText"
 			theme="settings.theme",
 			keybindings="settings.mode",
 			font-size="settings.fontSize",
@@ -63,6 +66,12 @@ div.full-size(
 			renderer-data="reviewPanel.rendererData"
 		)
 
+		#editor-rich-text(
+			cm-editor
+			ng-if="!editor.opening && editor.richText"
+			sharejs-doc="editor.sharejs_doc"
+		)
+
 		include ./review-panel
 
 	.ui-layout-east

+ 7 - 0
services/web/public/coffee/ide/editor/EditorManager.coffee

@@ -1,7 +1,9 @@
 define [
 	"ide/editor/Document"
 	"ide/editor/directives/aceEditor"
+	"ide/editor/directives/cmEditor"
 	"ide/editor/controllers/SavingNotificationController"
+	"ide/editor/controllers/EditorToolbarController"
 ], (Document) ->
 	class EditorManager
 		constructor: (@ide, @$scope) ->
@@ -12,6 +14,7 @@ define [
 				opening: true
 				trackChanges: false
 				wantTrackChanges: false
+				richText: false
 			}
 
 			@$scope.$on "entity:selected", (event, entity) =>
@@ -186,3 +189,7 @@ define [
 						@$scope.editor.trackChanges = want
 				else
 					@_syncTimeout = setTimeout tryToggle, 100
+
+		toggleRichText: () ->
+			@$scope.editor.richText = !@$scope.editor.richText
+

+ 7 - 0
services/web/public/coffee/ide/editor/controllers/EditorToolbarController.coffee

@@ -0,0 +1,7 @@
+define [
+	"base"
+	"ide/editor/Document"
+], (App, Document) ->
+  App.controller "EditorToolbarController", ($scope, ide) ->
+    $scope.toggleRichText = () ->
+      ide.editorManager.toggleRichText()