From db80533795f4b5160e12633ab17ed079eec35e99 Mon Sep 17 00:00:00 2001 From: Tess Date: Tue, 31 Oct 2017 20:48:45 -0400 Subject: [PATCH] Removes ctrl+s default behavior from notebook uses keyEvent.ctrlKey and adds support for macs command key --- zeppelin-web/src/app/notebook/notebook.controller.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/zeppelin-web/src/app/notebook/notebook.controller.js b/zeppelin-web/src/app/notebook/notebook.controller.js index d09a0b23b64..48fc6e7154e 100644 --- a/zeppelin-web/src/app/notebook/notebook.controller.js +++ b/zeppelin-web/src/app/notebook/notebook.controller.js @@ -173,15 +173,23 @@ function NotebookCtrl ($scope, $route, $routeParams, $location, $rootScope, // register mouseevent handler for focus paragraph document.addEventListener('click', $scope.focusParagraphOnClick) - $scope.keyboardShortcut = function (keyEvent) { + let keyboardShortcut = function (keyEvent) { // handle keyevent if (!$scope.viewOnly && !$scope.revisionView) { $scope.$broadcast('keyEvent', keyEvent) } } + $scope.keydownEvent = function (keyEvent) { + if ((keyEvent.ctrlKey || keyEvent.metaKey) && String.fromCharCode(keyEvent.which).toLowerCase() === 's') { + keyEvent.preventDefault() + } + + keyboardShortcut(keyEvent) + } + // register mouseevent handler for focus paragraph - document.addEventListener('keydown', $scope.keyboardShortcut) + document.addEventListener('keydown', $scope.keydownEvent) $scope.paragraphOnDoubleClick = function (paragraphId) { $scope.$broadcast('doubleClickParagraph', paragraphId)