From d69839b2fb4727ceefeda672ad3f2d8b3c812677 Mon Sep 17 00:00:00 2001 From: John Crepezzi Date: Fri, 18 Nov 2011 16:37:18 -0500 Subject: [PATCH] Push state for new documents fixed --- server.js | 1 + static/application.js | 15 ++++++++++++++- static/index.html | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/server.js b/server.js index cbc2d06..7a586ef 100644 --- a/server.js +++ b/server.js @@ -12,6 +12,7 @@ winston.remove(winston.transports.Console); winston.add(winston.transports.Console, { colorize: true, level: 'verbose' }); // TODO preparse static instead of using exists +// TODO implement command line // Set the server up http.createServer(function(request, response) { diff --git a/static/application.js b/static/application.js index 3196efd..ee479c2 100644 --- a/static/application.js +++ b/static/application.js @@ -23,7 +23,12 @@ heist_document.prototype.load = function(key, callback) { key: key, language: high.language }); + }, + + error: function(err) { + callback(false); } + }); }; @@ -70,6 +75,8 @@ var heist = function(appName) { }; +// TODO add key of commands + // Set the page title - include the appName heist.prototype.setTitle = function(ext) { var title = ext ? this.appName + ' - ' + ext : this.appName; @@ -78,9 +85,12 @@ heist.prototype.setTitle = function(ext) { // Remove the current document (if there is one) // and set up for a new one -heist.prototype.newDocument = function(ext) { +heist.prototype.newDocument = function(hideHistory) { this.doc = new heist_document(); this.$box.hide(); + if (!hideHistory) { + window.history.pushState(null, this.appName, '/'); + } this.setTitle(); this.$textarea.val('').show().focus(); } @@ -96,6 +106,9 @@ heist.prototype.loadDocument = function(key) { _this.$textarea.val('').hide(); _this.$box.show(); } + else { + _this.newDocument(); + } }); }; diff --git a/static/index.html b/static/index.html index 46b4eb7..b809880 100644 --- a/static/index.html +++ b/static/index.html @@ -46,7 +46,7 @@ window.onpopstate = function(evt) { var path = evt.target.location.pathname; if (path === '/') { - app.newDocument(); + app.newDocument(true); } else { app.loadDocument(path.substring(1, path.length));