Alasdair Smith 9 лет назад
Родитель
Сommit
cca7f55322

+ 9 - 0
services/web/app/views/project/editor/pdf.pug

@@ -26,6 +26,15 @@ div.full-size.pdf(ng-controller="PdfController")
 			)
 			)
 				span.caret
 				span.caret
 			ul.dropdown-menu.dropdown-menu-left
 			ul.dropdown-menu.dropdown-menu-left
+				// Only show on beta program?
+				li.dropdown-header Auto-compile
+				li
+					a(href, ng-click="autocompile_enabled = true")
+						i.fa.fa-fw(ng-class="{'fa-check': autocompile_enabled}")
+						|  On
+					a(href, ng-click="autocompile_enabled = false")
+						i.fa.fa-fw(ng-class="{'fa-check': !autocompile_enabled}")
+						|  Off
 				li.dropdown-header #{translate("compile_mode")}
 				li.dropdown-header #{translate("compile_mode")}
 				li
 				li
 					a(href, ng-click="draft = false")
 					a(href, ng-click="draft = false")

+ 7 - 1
services/web/public/coffee/ide/pdf/controllers/PdfController.coffee

@@ -72,10 +72,16 @@ define [
 			$scope.pdf.view = 'errors'
 			$scope.pdf.view = 'errors'
 			$scope.pdf.renderingError = true
 			$scope.pdf.renderingError = true
 
 
+		$scope.autocompile_enabled = localStorage("autocompile_enabled:#{$scope.project_id}") or false
+		$scope.$watch "autocompile_enabled", (newValue, oldValue) ->
+			if newValue? and oldValue != newValue
+				localStorage("autocompile_enabled:#{$scope.project_id}", newValue)
+
+#		TODO: toggle listener when setting changed?
 		ide.$scope.$on "ide:opAcknowledged", _.debounce(() ->
 		ide.$scope.$on "ide:opAcknowledged", _.debounce(() ->
 			if (!ide.$scope.hasLintingError)
 			if (!ide.$scope.hasLintingError)
 				$scope.recompile()
 				$scope.recompile()
-		, 3000) if window.user?.betaProgram
+		, 3000) if window.user?.betaProgram and $scope.autocompile_enabled
 
 
 		# abort compile if syntax checks fail
 		# abort compile if syntax checks fail
 		$scope.stop_on_validation_error = localStorage("stop_on_validation_error:#{$scope.project_id}")
 		$scope.stop_on_validation_error = localStorage("stop_on_validation_error:#{$scope.project_id}")