• Stars
    star
    116
  • Rank 303,894 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 4 years ago

Reviews

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

Repository Details

A YouTube like loading indicator for EmberJS packaged as an Ember CLI add-on.

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

  • isLoading
    • A boolean property that the component observes to determine if it should display or hide.
  • duration
    • An approximate duration of the event in milliseconds. Defaults to 300. Once 75% of this specified duration passes (or if the animation reaches 66% of the viewport width the animation slows until either isLoaded changes to false or it reaches 100% of the viewport width. This option is only valid for the simple stripe animation.
  • color
    • A css color to use for the animation stripe. Defaults to red. Can also be set with your application's css by setting the background-color of .loading-slider > span. If expanding is set to true then color is required and must be an array of colors.
  • expanding
    • Set this to true to change the style of animation from a simple stripe to a more complex animation (see the demo).
  • speed
    • Set the speed of the expanding style animation. Defaults to 1000. Only valid when expanding is true.

Service API

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

  • startLoading
  • endLoading
  • changeAttrs(attrs)

Authors

Legal

Copyright (c) 2014 Jerel Unruh

Licensed under the MIT license

More Repositories

1

membrane

Membrane is an opinionated crate that generates a Dart package from a Rust library. Extremely fast performance with strict typing and zero copy returns over the FFI boundary via bincode.
Rust
82
star
2

ecto_fields

Provides common fields for Ecto
Elixir
36
star
3

ember-storage

Store data in localStorage or sessionStorage and if using localStorage also synchronize it between browser tabs.
JavaScript
29
star
4

ember-cli-clock

Make the passing of time observable in your Ember app.
JavaScript
28
star
5

ember-cli-growl

A growl notification system for EmberJS packaged as an Ember CLI add-on.
JavaScript
20
star
6

quick-cache

A quick and easy to use PSR-2 driver based caching library that will cache simple key/value pairs or call methods and cache their results.
PHP
13
star
7

phoenix_js

JavaScript
11
star
8

PlaceIMG

A plugin for outputting dummy images from placeimg.com
PHP
7
star
9

ratings

A Ratings plugin for PyroCMS that allows registered users to rate an item. Typically referred to as a "star rating" system
PHP
7
star
10

scenic_ui

A collection of UI components for the Scenic client application framework
Elixir
6
star
11

folder

A file manager field type for PyroCMS
PHP
4
star
12

cluster-tmp

Elixir
4
star
13

poc

JavaScript
2
star
14

banners

The Banners module is a url driven way of displaying images on your site
JavaScript
2
star
15

devcomo-ember

Slides for a talk I gave at the DevCoMO meetup in Columbia Missouri
JavaScript
1
star
16

network-monitor

A simple network monitor that I created to keep track of server uptime on a local network
PHP
1
star
17

dotfiles

@jerel's machine configurations
Vim Script
1
star