Skip to content
This repository was archived by the owner on Nov 10, 2019. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .bowerrc

This file was deleted.

14 changes: 0 additions & 14 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,8 @@ insert_final_newline = true
indent_style = space
indent_size = 2

[*.js]
indent_style = space
indent_size = 2

[*.hbs]
insert_final_newline = false
indent_style = space
indent_size = 2

[*.css]
indent_style = space
indent_size = 2

[*.html]
indent_style = space
indent_size = 2

[*.{diff,md}]
trim_trailing_whitespace = false
20 changes: 20 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# unconventional js
/blueprints/*/files/
/vendor/

# compiled output
/dist/
/tmp/

# dependencies
/bower_components/

# misc
/coverage/
!.*

# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
/tests
51 changes: 51 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
module.exports = {
root: true,
parserOptions: {
ecmaVersion: 2017,
sourceType: 'module'
},
plugins: [
'ember'
],
extends: [
'eslint:recommended',
'plugin:ember/recommended'
],
env: {
browser: true
},
rules: {
},
overrides: [
// node files
{
files: [
'.template-lintrc.js',
'ember-cli-build.js',
'index.js',
'testem.js',
'blueprints/*/index.js',
'config/**/*.js',
'tests/dummy/config/**/*.js'
],
excludedFiles: [
'addon/**',
'addon-test-support/**',
'app/**',
'tests/dummy/app/**'
],
parserOptions: {
sourceType: 'script',
ecmaVersion: 2015
},
env: {
browser: false,
node: true
},
plugins: ['node'],
rules: Object.assign({}, require('eslint-plugin-node').configs.recommended.rules, {
// add your custom rules and overrides for node files here
})
}
]
};
22 changes: 14 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# See https://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/dist
/tmp
/dist/
/tmp/

# dependencies
/node_modules
/bower_components
/bower_components/
/node_modules/

# misc
/.sass-cache
/connect.lock
/coverage/*
/coverage/
/libpeerconnection.log
npm-debug.log
testem.log
/npm-debug.log*
/testem.log
/yarn-error.log

# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
32 changes: 0 additions & 32 deletions .jshintrc

This file was deleted.

41 changes: 28 additions & 13 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,29 @@
bower_components/
tests/
tmp/
dist/
# compiled output
/dist/
/tmp/

.bowerrc
.editorconfig
.ember-cli
.travis.yml
.npmignore
**/.gitkeep
bower.json
Brocfile.js
testem.json
# dependencies
/bower_components/

# misc
/.bowerrc
/.editorconfig
/.ember-cli
/.eslintignore
/.eslintrc.js
/.gitignore
/.template-lintrc.js
/.travis.yml
/.watchmanconfig
/bower.json
/config/ember-try.js
/ember-cli-build.js
/testem.js
/tests/
/yarn.lock
.gitkeep

# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
5 changes: 5 additions & 0 deletions .template-lintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
'use strict';

module.exports = {
extends: 'recommended'
};
36 changes: 6 additions & 30 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,14 @@
---
language: node_js
node_js:
- "4.1.2"
- 'lts/Carbon'

sudo: required
sudo: false
dist: trusty

cache:
directories:
- node_modules

env:
- EMBER_TRY_SCENARIO=default
- EMBER_TRY_SCENARIO=ember-1.13
- EMBER_TRY_SCENARIO=ember-2.0
- EMBER_TRY_SCENARIO=ember-2.1
- EMBER_TRY_SCENARIO=ember-release
- EMBER_TRY_SCENARIO=ember-beta
- EMBER_TRY_SCENARIO=ember-canary

matrix:
fast_finish: true
allow_failures:
- env: EMBER_TRY_SCENARIO=ember-canary

before_install:
- export PATH=/usr/local/phantomjs-2.0.0/bin:$PATH
- "npm config set spin false"
- "npm install -g npm@^3"
- npm i npm@6.1.0 -g

install:
- npm install -g bower
- npm install
- bower install
script: xvfb-run --server-args="-screen 0 1024x768x24" npm test

script:
- ember try $EMBER_TRY_SCENARIO test
notifications:
email: false
43 changes: 33 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ember-hypersearch :dash:
*Hyperspeed real-time search with caching*

[![npm version](https://badge.fury.io/js/ember-hypersearch.svg)](https://badge.fury.io/js/ember-hypersearch) [![Build Status](https://travis-ci.org/poteto/ember-hypersearch.svg?branch=master)](https://travis-ci.org/poteto/ember-hypersearch)
[![npm version](https://badge.fury.io/js/ember-hypersearch.svg)](https://badge.fury.io/js/ember-hypersearch) [![Build Status](https://travis-ci.org/poteto/ember-hypersearch.svg?branch=master)](https://travis-ci.org/poteto/ember-hypersearch)

Existing addons that implement real-time typeahead search assume that your app already has all the data. `ember-hypersearch` lets you query an endpoint directly, and caches results locally for better performance when the same query is repeated.

Expand Down Expand Up @@ -133,22 +133,45 @@ Future versions will allow you to persist results locally via `localStorage` or

## Installation

* `git clone` this repository
```
ember install my-addon
```


Usage
------------------------------------------------------------------------------

[Longer description of how to use the addon in apps.]


Contributing
------------------------------------------------------------------------------

### Installation

* `git clone <repository-url>`
* `cd my-addon`
* `npm install`
* `bower install`

## Running
### Linting

* `ember server`
* Visit your app at http://localhost:4200.
* `npm run lint:hbs`
* `npm run lint:js`
* `npm run lint:js -- --fix`

## Running Tests
### Running tests

* `ember test`
* `ember test --server`

## Building
### Running the dummy application

* `ember serve`
* Visit the dummy application at [http://localhost:4200](http://localhost:4200).

For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/).

* `ember build`
License
------------------------------------------------------------------------------

For more information on using ember-cli, visit [http://www.ember-cli.com/](http://www.ember-cli.com/).
This project is licensed under the [MIT License](LICENSE.md).
27 changes: 11 additions & 16 deletions addon/components/hyper-search.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
import Ember from 'ember';
import Component from '@ember/component';
import { A as emberArray } from '@ember/array';
import { reject, resolve, Promise } from 'rsvp';
import { bind, debounce } from '@ember/runloop';
import { set, get } from '@ember/object';
import { typeOf, isPresent, isBlank } from '@ember/utils';
import { inject } from '@ember/service';
import layout from '../templates/components/hyper-search';

const {
Component,
A: emberArray,
RSVP: { Promise, resolve, reject },
$: { ajax },
run: { debounce, bind },
get,
set,
isBlank,
isPresent,
typeOf
} = Ember;
/* eslint-disable */

/**
* Returns the key for the query in the cache. Only works in conjunction with
Expand Down Expand Up @@ -47,6 +41,7 @@ export default Component.extend({
endpoint: null,
resultKey: null,
placeholder: null,
ajax: inject(),

init() {
this._super(...arguments);
Expand Down Expand Up @@ -111,10 +106,10 @@ export default Component.extend({
*/
request(query) {
return new Promise((resolve, reject) => {
ajax({
const ajax = this.get('ajax');
ajax.request(get(this, 'endpoint'), {
dataType: 'json',
method: 'GET',
url: get(this, 'endpoint'),
data: { q: query }
})
.then(resolve, reject);
Expand Down
18 changes: 0 additions & 18 deletions bower.json

This file was deleted.

Loading