Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/betocantu93/ember-get-all-model

This is a shortcut for get all records locally or remotely using only the model name
https://github.com/betocantu93/ember-get-all-model

Last synced: 24 days ago
JSON representation

This is a shortcut for get all records locally or remotely using only the model name

Awesome Lists containing this project

README

        

# ember-get-all-model

This is a shortcut for get all locally or remotely using `modelName` and select, if you use block form, the objects will be yielded, if not, a select-autocomplete using ember-power-select addon will be placed. Feel free to contribute.

## DEMO
[Ember-get-all-model DEMO](http://albertocantug.com/ember-get-all-model/)

## Installation

$ ember install ember-get-all-model

## Properties

`customRendering`: Boolean, tells the component to use power select or just yield the options to the consumer

`reload`: Boolean, tells the component to query or peekAll using the modelName

`required`: Boolean, if true, the component will bubble onValidChange with true/false

`customValidation`: Function, will be bubbled when selectedObject changes, with (object) as params use it for any other custom validation, just return a bool.

`filters`: Object, it will be used in the query. Example

filters: {
scope: 5,
name: "Tomas"
}

or you can simple use the hash helper in template like

{{#get-all-model
modelName="user"
filters=(hash name="Alberto" include="city,car")
onSelect=(action (mut selectedUser))
}}

will result in

/users?filter[name]=Alberto&include=city,car

`include`: String, will be used in the query

`filterFunc`: Function, callback function which will be called with the results from peekAll(`modelName`), for every record `filterFunc` will be called with (object, objects) as params, just return a boolean and the objects will be filtered.

**Notice this is not the matcher function used by ember-power-select** it's just a preliminary function for cleaning the set of peekAll

## Usage

Power select

{{#get-all-model
modelName="user"
required=true
onValidChange=(action (mut isUserValid))
placeholder="Select a user"
reload=false //change to true to a force reload, making a remote to query(modelName)
onSelect=(action (mut selectedUser))
customRendering=false
as |user| }}

{{user.name}} - {{user.age}}

{{/get-all-model}}

Custom Rendering

{{#get-all-model
modelName="image"
onSelect=(action (mut selectedImage))
customRendering=true
as |component object|}}

{{/get-all-model}}