• Stars
    star
    120
  • Rank 286,957 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 10 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Common teardown scenario for ember routes backed by a data model

Ember Data Route Build

ember-data-route is built and maintained by DockYard, contact us for expert Ember.js consulting.

About

Ensure you clean up after your models.

Any routes you deactivate will check the model to ensure it is not unsaved. If it is it will either rollback or remove the model from the store depending if has been previously persisted.

Install

npm install ember-data-route --save-dev

Usage

Add the mixin to any route you want:

import Ember from 'ember';
import DataRoute from 'ember-data-route';

export default Ember.Route.extend(DataRoute, {
  ...
});

Transition Confirmation

By default when you transition out of the route the data model is rolled-back/removed automatically after the router is deactivated. However, you may want to detect if this is going to happen and alert the user of changes that will be lost. Typically you could use window.confirm to allow the user to decide to proceed or not. In the route you are mixing into you can provide your own willTransitionConfirm function to handle this. By default this function returns true and is passed the transition object as an argument for you to handle. One possible override could be:

export default Ember.Route.extend(DataRouteMixin, {
  willTransitionConfirm() {
    return window.confirm("You have unsaved changes that will be lost. Do you want to continue?");
  }
});

Configuring Which Model

Sometimes model isn't the place where your primary model is located, so setting primaryModel to something else would allow you to override that setting.

export default Ember.Route.extend(DataRouteMixin, {
  primaryModel: 'user'
});

This will look on controller.user, instead of controller.model.

Authors

We are very thankful for the many contributors

Versioning

This library follows Semantic Versioning

Want to help?

Please do! We are always looking to improve this gem. Please see our Contribution Guidelines on how to properly submit issues and pull requests.

Legal

DockYard, Inc Β© 2014

@dockyard

Licensed under the MIT license

More Repositories

1

client_side_validations

Client Side Validations made easy for Ruby on Rails
Ruby
2,680
star
2

ember-validations

Validations for Ember Objects
JavaScript
834
star
3

postgres_ext

Adds support for missing PostgreSQL data types to ActiveRecord
Ruby
644
star
4

ember-easy-form

Easily build semantic forms in Ember
JavaScript
566
star
5

party_foul

Use GitHub to track your application errors!
Ruby
518
star
6

ruby-destroyed_at

ActiveRecord Mixin for Safe Destroys
Ruby
351
star
7

capybara-email

Test your ActionMailer and Mailer messages with Capybara
Ruby
338
star
8

postgres_ext-serializers

Ruby
324
star
9

client_side_validations-simple_form

Simple Form plugin for ClientSideValidations
JavaScript
252
star
10

ember-appkit-rails

Ember Appkit for Rails
Ruby
238
star
11

ember-suave

Make your Ember App Stylish
JavaScript
180
star
12

ember-one-way-controls

Native one way input
JavaScript
177
star
13

ember-cli-i18n

Simple Internationalization support for ember-cli apps
JavaScript
112
star
14

dismissible_helpers

Ruby
97
star
15

es6_module_transpiler-rails

Transpile ES6 Modules in the Rails Asset Pipeline
JavaScript
87
star
16

capybara-extensions

Complements Capybara with additional finders and matchers.
Ruby
66
star
17

ruby-context_validations

Context Aware Validations for Rails
Ruby
65
star
18

pg_array_parser

Ruby
61
star
19

pages

Easy pages in Rails
Ruby
49
star
20

ember-skeleton

Show fast-loading temporary images in place of an eventual slow-loading image
JavaScript
41
star
21

ember-cli-proxy-fixtures

Ember CLI Proxy Fixtures
JavaScript
38
star
22

client_side_validations-mongoid

Mongoid plugin for ClientSideValidations
Ruby
28
star
23

ruby-easy_auth

Dead simple drop-in identity based Rails authentication
Ruby
28
star
24

ember-admin-bootstrap

Ember Admin with a Twitter Bootstrap Theme
CSS
25
star
25

client_side_validations-formtastic

Formtastic plugin for ClientSideValidations
Ruby
18
star
26

ember-wuphf

JavaScript
17
star
27

postgres_ext-postgis

Ruby
14
star
28

ember-cli-one-script

This addon combines your `vendor.js` and `<your-app-name>.js` into a single file called `app.js`
JavaScript
14
star
29

client_side_validations-turbolinks

Turbolinks Plugin for ClientSideValidations
Ruby
9
star
30

fixtory

Not quite fixtures, not quite factories
Ruby
9
star
31

ember-new-modules-shim

JavaScript
6
star
32

client_side_validations-backbone

Backbone plugin for ClientSideValidations
JavaScript
6
star
33

ember-cli-test-interactions

Ember acceptance test helpers.
JavaScript
3
star
34

minitest-moar

Moar Minitest Pluzsh!
Ruby
3
star
35

ruby-easy_auth-password

Password plugin for EasyAuth
Ruby
3
star
36

mail_congress

Ruby
2
star
37

ruby-easy_auth-oauth2

Ruby
1
star
38

ruby-easy_auth-twitter

Ruby
1
star
39

ruby-easy_auth-linked_in

Ruby
1
star
40

comet

Elixir
1
star