Nectar of the Programming Masses

    ember-get-all-model

    0.0.1 • Public • Published

    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

    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|}}
    
      <img class="flex-none" {{action "select" object target=component}} src={{object.url}}/>
    
    {{/get-all-model}}
    

    Install

    npm i ember-get-all-model

    DownloadsWeekly Downloads

    2

    Version

    0.0.1

    License

    MIT

    Unpacked Size

    12.4 kB

    Total Files

    8

    Last publish

    Collaborators

    • betocantu93