ember-multi-group-by

0.0.8 • Public • Published

ember-multi-group-by

ember-group-by provides a computed property macro for grouping objects by a given property.

Installation

ember install ember-group-by

Usage

import Ember from 'ember';
import groupBy from 'ember-group-by';

export default Ember.Controller.extend({
  carsByColor: groupBy('model', 'color')
});

This will return an array of POJOs with the following properties:

[
  { property: 'color', value: 'red', items: [car1, car2] },
  { property: 'color', value: 'blue', items: [car3, car4] },
  { property: 'color', value: 'green', items: [car5] }
]

Each group object will have the following properties:

  • property The name of the property that you grouped the items by
  • value The value for the property that you grouped the items by
  • items All of the objects with the matching value for that property

You can then use this in your templates to do cool things like:

<h1>Cars grouped by color</h1>

{{#each carsByColor as |group|}}
  <h3>Cars that have {{group.property}} {{group.value}}</h3>

  <ul>
    {{#each group.items as |car|}}
      <li>{{car.name}}</li>
    {{/each}}
  </ul>
{{/each}}

There is also an example in test/dummy.

Readme

Keywords

Package Sidebar

Install

npm i ember-multi-group-by

Weekly Downloads

1

Version

0.0.8

License

MIT

Last publish

Collaborators

  • wayne-o