diff --git a/js/menus/Navbar.js b/js/menus/Navbar.js index 203c1be5916b9984cbd2c47757928ebeac827ae8..3831f8265b35bcc65e0aa205bd6fd6a19cfbd327 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 60b3f1bd9af762392e5fa16f55428ad0bc96f9e2..5fcfdb65c8c6a3e044216486c6d5b3601e4614fb 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