From 25fbba2084a23fb62ab0e7fdf2dd47eadc28a967 Mon Sep 17 00:00:00 2001 From: Noah Loomans Date: Mon, 30 Jan 2017 14:04:20 +0100 Subject: Fix bugs in url update - Document title doesn't update - Page crashes when going back to front page --- public/javascripts/url.js | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'public/javascripts/url.js') diff --git a/public/javascripts/url.js b/public/javascripts/url.js index a5877c6..b856285 100644 --- a/public/javascripts/url.js +++ b/public/javascripts/url.js @@ -4,10 +4,31 @@ const EventEmitter = require('events') const self = new EventEmitter() +self._getPageTitle = function (selectedItem) { + if (selectedItem == null) { + return `Metis Rooster` + } else { + return `Metis Rooster - ${selectedItem.value}` + } +} + +self._getPageURL = function (selectedItem) { + return `/${selectedItem.type}/${selectedItem.value}` +} + +self.push = function (selectedItem, push) { + if (push == null) push = true + const pageTitle = self._getPageTitle(selectedItem) + const pageURL = self._getPageURL(selectedItem) + if (push) { + window.history.pushState(selectedItem, pageTitle, pageURL) + } else { + window.history.replaceState(selectedItem, pageTitle, pageURL) + } +} + self.update = function (selectedItem) { - const pageTitle = `Metis Rooster - ${selectedItem.value}` - const pageUrl = `/${selectedItem.type}/${selectedItem.value}` - window.history.pushState(selectedItem, pageTitle, pageUrl) + document.title = self._getPageTitle(selectedItem) } self.hasSelectedItem = function () { -- cgit v1.1