jerel / ember-cli-loading-slider

A YouTube like loading indicator for EmberJS packaged as an Ember CLI add-on.
MIT License
116 stars 36 forks source link

Loading-slider

A loading indicator component for EmberJS that animates across the top of the viewport.

Live Demo

Build Status

Installation

npm install ember-cli-loading-slider --save-dev

Usage

Add the component to your application template:

{{loading-slider isLoading=loading duration=250}}

Alternatively you may try the more complex mode. In this mode an array of colors is required hexColorsArray: ['#000', '#fff']:

{{loading-slider isLoading=loading expanding=true color=hexColorsArray}}

Create application route (if not present) and extend application route with loading-slider mixin:

import Ember from 'ember';
import LoadingSliderMixin from '../mixins/loading-slider';

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

The animation will now show when the user navigates between routes that return a promise (such as this.store.find()).

You may also show or hide the animation at any time from any route or controller:

actions: {
  saveUser: function(user) {
    var self = this;

    self.send('loading');
    user.save().finally(function() {
      self.send('finished');
    });
  }
}

For v1.2.x make sure that you have explicitly defined an application controller e.g. app/controllers/application.js to avoid getting an Assertion Failed error.

v1.3.x is implemented as a service and controllers are no longer used.

API

Service API

For advanced usage you may interact directly with the service instead of or in addition to using the loading-slider component.

Authors

Legal

Copyright (c) 2014 Jerel Unruh

Licensed under the MIT license