Skip to content

Ember-Turbolinks makes following server-generated links in your client-side web application faster (use with Ember.js)

License

Notifications You must be signed in to change notification settings

ebryn/ember-turbolinks

Repository files navigation

Ember-Turbolinks

Ember-Turbolinks makes migrating your server-generated apps to Ember.js significantly easier by using techniques pioneered by the pjax and Rails' Turbolinks projects.

For example, if you're incrementally rewriting a server-generated application in Ember.js, you can now let Ember actually take over all of the routing of your application even though only parts of it have been rewritten in Ember. Typically the ROI of admin or setting page rewrites is very low, so Ember-Turbolinks offers a nice mechanism for boosting the performance of those areas of the application and let's you take advantage of nice features of Ember such as automatic loading substates and liquid-fire based animations.

Installation

ember install:addon ember-turbolinks

Usage

Inside your app/router.js, turboify your server-generated web application by configuring the routes you want loaded by Ember:

Router.map(function() {
  //            <route name> <server url>        <optional parameters>
  this.turboify('settings',  '/legacy/settings', { selector: '#content', path: '/admin/settings' });
});

Now you can link-to your turboified routes within your Ember application like any other route:

{{#link-to 'settings'}}Settings{{/link-to}}

Note: Ember-Turbolinks does not hijack existing <a> tags on your page. You're explicitly opting in to which links become routed client side.

Standard HTML forms with method="POST" will be automagically enhanced to submit via AJAX.

Rails-specific features

The csrf-token and csrf-param fields will automatically be injected into the Ember app for you. If you're relying upon Rails' unobstrusive JS generated by it's link_to helper, that will also be automagically upgraded to submit via AJAX as well.

About

Ember-Turbolinks makes following server-generated links in your client-side web application faster (use with Ember.js)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published