location-history

1.1.2 • Public • Published

location-history travis npm downloads javascript style guide

Lightweight browser location history abstraction

Works in the browser with browserify! This module is used by WebTorrent Desktop.

install

npm install location-history

usage

var LocationHistory = require('location-history')
 
var location = new LocationHistory()
 
// Navigate to a page
location.go({ url: 'first-url', data: 'hi' })
 
console.log(location.current()) // { url: 'first-url', data: 'hi' }
console.log(location.url()) // 'first-url'
 
// Navigate to a second page
location.go({ url: 'second-url' })
 
console.log(location.url()) // 'second-url'
 
// Go back one page
location.back()
 
console.log(location.url()) // 'first-url'
 
// Go forward one page
location.forward()
 
console.log(location.url()) // 'second-url'

api

location = LocationHistory()

Create a new location history instance.

location.current()

Returns the current page object.

location.url()

Return the current page object's url property.

location.go(page, [callback])

Navigate to a new page. page should be an object with a url property.

Optionally, specify a setup function property to be called before the page becomes the current one. setup will be passed a callback function that should be called with a null or Error object as the first property.

location.go({
  url: 'my-url',
  setup: function (cb) {
    setTimeout(function () { // ... do any async operations
      cb(null)
    }, 100)
  }
})

Optionally, specify a destroy function property to be called after the page is replaced with another one.

location.go({
  url: 'my-url',
  destroy: function () {
    // ... do any cleanup operations
  }
})

location.back([callback])

Navigate to the previous page. If there is no previous page, this does nothing.

Optionally, specify a callback function to be called after the next page is loaded (in case it has a setup function).

location.forward([callback])

Navigate to the forward page. If there is no forward page, this does nothing.

Optionally, specify a callback function to be called after the next page is loaded (in case it has a setup function).

location.cancel([callback])

Navigate to the previous page, and remove the current page from the history. If there is no previous page, this does nothing.

If you want the current page to stay in history (accessible via forward()), see back().

Optionally, specify a callback function to be called after the next page is loaded (in case it has a setup function).

location.hasBack()

Returns true if there is a previous page, else false.

location.hasForward()

Returns true if there is a forward page, else false.

location.backToFirst([callback])

Navigate to the first page. Optionally, specify a callback function to be called after the first page is loaded.

location.clearForward([url])

Clear all forward pages. Useful in situations where the forward page no longer exists in the app.

Optionally, specify a url and only pages with the given url will be removed.

license

MIT. Copyright (c) Feross Aboukhadijeh.

Package Sidebar

Install

npm i location-history

Weekly Downloads

21

Version

1.1.2

License

MIT

Unpacked Size

9.03 kB

Total Files

4

Last publish

Collaborators

  • feross