refactor: Extract browser_history module.

This mainly extracts a new module called
browser_history. It has much fewer dependencies
than hashchange.js, so any modules that just
need the smaller API from browser_history now
have fewer transitive dependencies.

Here are some details:
    * Move is_overlay_hash to hash_util.
    * Rename hashchange.update_browser_history to
      brower_history.update
    * Move go_to_location verbatim.
    * Remove unused argument for exit_overlay.
    * Introduce helper functions:
        * old_hash()
        * set_hash_before_overlay()
        * save_old_hash()

We now have 100% line coverage on the extracted
code.
This commit is contained in:
Steve Howell
2021-03-22 15:09:12 +00:00
committed by Tim Abbott
parent 67a487db79
commit 746cc9e1f6
23 changed files with 194 additions and 126 deletions

View File

@@ -1,6 +1,6 @@
import $ from "jquery";
import * as hashchange from "./hashchange";
import * as browser_history from "./browser_history";
if (window.electron_bridge !== undefined) {
window.electron_bridge.on_event("logout", () => {
@@ -8,10 +8,10 @@ if (window.electron_bridge !== undefined) {
});
window.electron_bridge.on_event("show-keyboard-shortcuts", () => {
hashchange.go_to_location("keyboard-shortcuts");
browser_history.go_to_location("keyboard-shortcuts");
});
window.electron_bridge.on_event("show-notification-settings", () => {
hashchange.go_to_location("settings/notifications");
browser_history.go_to_location("settings/notifications");
});
}