Skip to content

Instantly share code, notes, and snippets.

@mguterl
Created October 2, 2015 15:31
Show Gist options
  • Save mguterl/565cf6183c8dfd49af2e to your computer and use it in GitHub Desktop.
Save mguterl/565cf6183c8dfd49af2e to your computer and use it in GitHub Desktop.
{{bd-back-button action='goBack'}}
import Ember from 'ember';
var inject = Ember.inject;
export default Ember.Route.extend({
history: inject.service(),
beforeModel: function(transition) {
// capture the first page load
this.get('history').capture(transition);
},
actions: {
willTransition: function(transition) {
this.get('history').capture(transition);
},
goBack: function() {
var previousTransition = this.get('history.previous');
if (previousTransition) {
this.get('history').capture(previousTransition);
previousTransition.retry();
} else {
this.transitionTo('home');
}
},
}
}
<i class="bd-icon bd-icon--arrow-left"></i>
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'a',
classNames: ['button button--return'],
attributeBindings: ['href', 'title'],
click: function() {
this.sendAction();
}
});
@mitchlloyd
Copy link

Here is an idea giving the history service more responsibility and removing the history concern from the application route. https://gist.github.com/mitchlloyd/9def667b38a8da9558d4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment