npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

emberx-autosuggest

v0.0.2-1

Published

Tag picker functionality

Downloads

7

Readme

ember-xautosuggest

Build Status

ember autosuggest

This component will auto-complete or autosuggest completed search queries for you as you type.

There is keyboard navigation using the up and down keys to scroll up and down the results and enter adds the selection, while hitting escape hides the autocomplete menu.

Usage

{{x-autosuggest source=controller destination=tags}}
  • Specify a source binding that displays a list of selections to choose from.
  • Specity a destination binding that your selections will be bound to.

Arguments

  • searchPath - Specify the property for each object in the source list that will be used to auto suggest, the default is name.
{{x-autosuggest source=controller destination=tags searchPath=make}}
  • minChars - Specify how many characters the user must enter into the input before the search is triggered, the default is 1.
{{x-autosuggest source=controller destination=tags minChars=0}}

Customise Suggestions and Results

  • You can prepend content to the suggestions and the results by using the component in its block form:
    {{#x-autosuggest source=controller.employees destination=tags searchPath="fullName" minChars=0 as |selection|}}
      <img src="img/small_avatar.png" alt="{{selection.name}}" class="avatar"/>
    {{/x-autosuggest}}
  • The above declaration will result in the following markup:

ember autosuggest

Query an Ember-Data model

Generate ember-data type findQuery queries on the remote server by getting a reference to the type.

// controller
import Employee from '../models/employee';

export default Ember.Controller.extend({
  chosenEmployees: Ember.A(),
  Employee: Employee
});

Then setting the type as the source of the x-autosuggest component.

{{x-autosuggest source=Employee destination=chosenEmployees searchPath="fullName" minChars=0}}

This will call findQuery with an expression created from the searchPath. In the above example, that would be:

store.find(Employee, {fullName: '<query>'});

View the demo

cd tests/dummy
ember server
open a browser at http://localhost:4200/

Building yourself

npm install
bower install
ember build

The builds will be in the dist/ directory.

Installing

With Ember-CLI

If you are using ember-cli you can add emberx-autosuggest to your package.json:

"devDependencies": {
  ...
  "emberx-autosuggest": "~ 0.0.1"
}

You may want to be more precise with your version locking.

Running Tests

  • ember test
  • ember test --server