From d0135e5b935a46cdabc4640679eddf1fd0fb82f5 Mon Sep 17 00:00:00 2001 From: Amanda Ghassaei <amandaghassaei@gmail.com> Date: Sat, 7 Mar 2015 12:33:24 -0500 Subject: [PATCH] save as hotkey --- js/menus/Navbar.js | 16 +++++++++++++++- js/models/AppState.js | 9 ++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/js/menus/Navbar.js b/js/menus/Navbar.js index 203c1be5..3831f826 100644 --- a/js/menus/Navbar.js +++ b/js/menus/Navbar.js @@ -15,8 +15,11 @@ NavBar = Backbone.View.extend({ "click .menuHoverControls": "_setNavSelection", "click #saveJSON": "_save", "click #saveAsJSON": "_saveAs", + "shown.bs.modal #saveAsModel": "_showSaveAsModal", + "hide.bs.modal #saveAsModel": "_hideSaveAsModal", + "change #saveAsModel": "_saveAs", "click #importJSON": "_importJSON", - "change #jsonInput": "_selectJSONFiles", + "change #jsonInput": "_selectJSONFiles" }, initialize: function(){ @@ -100,6 +103,17 @@ NavBar = Backbone.View.extend({ e.preventDefault(); var fileName = $("#saveAsFileName").val(); dmaGlobals.lattice.saveAsJSON(fileName); + $('#saveAsModel').modal('hide'); + }, + + _showSaveAsModal: function(){ + var input = $("#saveAsFileName"); + input.focus(); + input.select(); + }, + + _hideSaveAsModal: function(){ + $("#saveAsFileName").blur(); }, _uiStuff: function(){ diff --git a/js/models/AppState.js b/js/models/AppState.js index 60b3f1bd..5fcfdb65 100644 --- a/js/models/AppState.js +++ b/js/models/AppState.js @@ -101,6 +101,8 @@ AppState = Backbone.Model.extend({ _handleKeyStroke: function(e){//receives keyup and keydown + if ($("input").is(':focus')) return;//we are typing in an input + var state = e.data.state; var currentTab = this.get("currentTab"); @@ -111,6 +113,7 @@ AppState = Backbone.Model.extend({ this.downKeys[e.keyCode] = true; } else this.downKeys[e.keyCode] = false; +// console.log(e); // console.log(e.keyCode); switch(e.keyCode){ case 16://shift @@ -135,7 +138,11 @@ AppState = Backbone.Model.extend({ case 83://s save if (e.ctrlKey || e.metaKey){//command e.preventDefault(); - dmaGlobals.lattice.saveAsJSON(); + if (e.shiftKey){ + $("#saveAsModel").modal("show"); + } else { + dmaGlobals.lattice.saveAsJSON(); + } } break; case 79://o open -- GitLab