ember-decorators-runloop

0.0.0 • Public • Published

runloop

Usage

Installation

ember install @ember-decorators/runloop

debounce

In your application where you use ES6 classes:

import Component from '@ember/component';
import { debounce } from "@ember/runloop";
import { action } from "@ember-decorators/object";

export default class TypeAhead extends Component {
  fetchResults(searchValue) {
    ...
  },

  @action
  handleTyping() {
    debounce(this, get(this, 'fetchResults'), get(this, 'searchValue'), 250);
  }
}

You replace it with this:

import Component from '@ember/component';
import { debounce } from "@ember-decorators/runloop";
import { action } from "@ember-decorators/object";

export default class TypeAhead extends Component {
  @debounce(250)
  fetchResults(searchValue) {
    ...
  },

  @action
  handleTyping() {
    get(this, 'fetchResults')(get('searchValue'));
  }
}

throttle

In your application where you use ES6 classes:

import Component from '@ember/component';
import { throttle } from "@ember/runloop";
import { action } from "@ember-decorators/object";

export default class TypeAhead extends Component {
  fetchResults(searchValue) {
    ...
  },

  @action
  moveMouse() {
    throttle(this, get(this, 'fetchResults'), get(this, 'searchValue'), 250);
  }
}

You replace it with this:

import Component from '@ember/component';
import { throttle } from "@ember-decorators/runloop";
import { action } from "@ember-decorators/object";

export default class TypeAhead extends Component {
  @throttle(250)
  fetchResults(searchValue) {
    ...
  },

  @action
  moveMouse() {
    get(this, 'fetchResults')(get('searchValue'));
  }
}

schedule

In your application where you use ES6 classes:

import Component from '@ember/component';
import { schedule } from "@ember/runloop";

export default class TypeAhead extends Component {
  fetchResults(searchValue) {
    ...
  },

  didInsertElement() {
    schedule('afterRender', this, get(this, 'fetchResults'), get(this, 'searchValue'));
  }
}

You replace it with this:

import Component from '@ember/component';
import { schedule } from "@ember-decorators/runloop";

export default class TypeAhead extends Component {
  @schedule('afterRender')
  fetchResults(searchValue) {
    ...
  },

  didInsertElement() {
    get(this, 'fetchResults')(get('searchValue'));
  }
}

This README outlines the details of collaborating on this Ember addon.

Installation

  • git clone <repository-url> this repository
  • cd runloop
  • npm install

Running

Running Tests

  • npm test (Runs ember try:each to test your addon against multiple Ember versions)
  • ember test
  • ember test --server

Building

  • ember build

For more information on using ember-cli, visit https://ember-cli.com/.

Readme

Keywords

Package Sidebar

Install

npm i ember-decorators-runloop

Weekly Downloads

1

Version

0.0.0

License

MIT

Unpacked Size

8.8 kB

Total Files

7

Last publish

Collaborators

  • igbopie