private npm is here.

publish unlimited private modules for just $7/month

KnockbackNavigators.js provides page navigators, a pane navigator, and transition animations to help you make dynamic, single-page applications. They are platform-agnostic so you can even use them without using Knockback.js or Knockout.js!

If you are a robot, enter text here

KnockbackNavigators.js provides page navigators, a pane navigator, and transition animations to help you make dynamic, single-page applications. They are platform-agnostic so you can even use them without using Knockback.js or Knockout.js!

Note: if you are using Knockback-Navigators.js with Knockback.js without a module loader, you must include Knockback.js before Knockback-Navigators.js.

Note: Currenty Knockback-Navigators.js only supports the window.location.hash functions. If anyone has recommendations for generalizing it for Push State as well, please submit an issue to make your proposal. The main issue is leaving the routing solution up to the library user (allowing for any routing solution) and generalizing the mechanism for checking the fragment to route.

This component provides a page navigator with history and optional transition animations. If you are using Knockout.js or Knockback.js, you can observe changes to the active page (for example, to update menu links).

Note: this bundles knockback-pane-navigator.js so no need to include knockback-pane-navigator.js separately.

In order to filter loading of page URLs (eg. not reloading the active page if the URL hasn't changed) and to manage history (eg. going back if the previous page matches the URL), kb.PageNavigatorPanes provides a 'dispatcher(callback)' that is only called when a cached page is not available.

###Basic Usage (Static Pages)

If you want to bind to a static page, you should provide the '{no_remove: true}' option so if only hides, but does not detach elements when a page is deactivated.

This component provides a page navigator with no history and no transitions. In addition to adding a little structure to your application, if you are using Knockout.js or Knockback.js, you can observe changes to the active page (for example, to update menu links).

This component provides a way to embed moveable panes within you HTML (for example, sliding between items one at a time) with or without transition animations and provides the page transition functionality to kb.PageNavigatorPanes.

KnockbackNavigators.js provides hooks to receive notifications when an element is activated and deactivated so you can have fine-grained control (for example, to stop background page processing) when your element is detached ($(el).detach()) rather than removed (ko.removeNode(el)). It uses two conventions to provide the notifications:

// created manually or through page_navigator.loadPaga({el: el, view_model: view_model})

var pane = kb.Pane({el: el, view_model: view_model});

...

pane.view_model.activate(el);

// created manually or through page_navigator.loadPaga({el: el, view_model: view_model})

var pane = kb.Pane({el: el});

...

var view_model = ko.dataFor(pane.el); // get the ViewModel from the bound element