• Stars
    star
    540
  • Rank 82,257 (Top 2 %)
  • Language
    JavaScript
  • License
    Other
  • Created about 9 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The extensible select component built for ember.

ember-power-select

CI Ember Observer Score Code Climate npm version dependencies

Ember Power Select is a select component written in Ember with a focus in flexibility and extensibility.

It is designed to work well with the way we build Ember apps, so it plays nicely with promises, ember-concurrency's tasks, ember-data collections and follows idiomatic patterns.

Compatibility

  • Ember.js v3.16 or above
  • Ember CLI v3.16 or above
  • Node.js v14 or above

Ember Power Select 1.X works in Ember 2.3.1+, beta and canary with no deprecations whatsoever. Any deprecation will be considered a bug. Ember Power Select 2.X requires Ember 2.10.0+. Ember Power Select 3.X requires Ember 3.11.0+. Ember Power Select 4.X requires Ember 3.13.0+.

Installation

ember install ember-power-select

Features overview

Ember Power Select wants to be as agnostic as possible about how you're going to use it, but it still provides some default implementations that will match 95% of your needs, and exposes actions to customize the other 5% of usages.

Features include:

  • Single select
  • Multiple select
  • HTML inside the options or the trigger.
  • Filter options sanitizing diacritics.
  • Custom matchers.
  • Asynchonous searches.
  • Theming
  • Fully promise-aware, with loading states.
  • Compatible with ember-concurrency task cancellation.
  • Compatibility with ember-data's ArrayProxies
  • Groups (with not deep limit), placeholders...
  • Clear the selection
  • Disable the component or individual options
  • CSS animations and transitions
  • ... and anything else you want. Just replace parts of the selects with your own components.

Usage

Check the full documentation with live examples at www.ember-power-select.com and please open an issue if something doesn't work or is not clear enough.

Good docs are important :)

Extensions

Ember-power-select's focus on flexibility enables the community to build richer and more tailor made components on top of it, focused in solving one particular problem, using composition.

Check the addons section to see some and if you create one that you want to open source open a PR to include it in the list.

Browser support

This addon was tested in modern browsers and there is no technical reason it wouldn't work in IE9+. If you find a problem please file an issue.

IE 'Invalid character' issue

You might run into a situation where your app doesn't work in IE11 when doing a production build with the error: Invalid character. This is due to uglifyjs stripping quotes out of object keys, and since we handle diacritics for you, those cause issues. Solution:

// ember-cli-build.js
'use strict';

const EmberApp = require('ember-cli/lib/broccoli/ember-app');

module.exports = function (defaults) {
  let app = new EmberApp(defaults, {
    'ember-cli-uglify': {
      uglify: {
        // Prevent uglify from unquoting hash keys in production builds, causes issue with diacritics in EPS
        output: {
          keep_quoted_props: true,
        },
      }
    }
  });

  return app.toTree();
}

Testing

In testing it requires phantomjs 2.0+. This component also provides some convenient test helpers to interact with the component in acceptance tests.

Contributing

Any contribution is welcome. Please read our guidelines. However, if your contribution involves adding a new feature, please open an issue before to share your plan and agree the details of the feature before starting implementing it.

Troubleshooting

If something doesn't work visit the Troubleshooting section of the docs first and if your problem persist open an issue, specify the version of the component, Ember and browser.

More Repositories

1

ember-cpm

ComputedProperty Macros for Ember
JavaScript
275
star
2

svelte-intl-precompile

I18n library for Svelte.js that analyzes your keys at build time for max performance and minimal footprint
JavaScript
258
star
3

ember-power-calendar

Powerful and customizable calendar component for Ember
JavaScript
207
star
4

ember-native-dom-helpers

Test helpers for your integration tests that fire native events
JavaScript
186
star
5

ember-basic-dropdown

The basic dropdown you ember app needs
JavaScript
148
star
6

svelte-media

Svelte.js util to easily observe media queries as a reactive store
TypeScript
58
star
7

ember-cli-yuidoc

EmberCLI addon for generate documentation from YUIDoc coments
JavaScript
55
star
8

ember-power-datepicker

An extensible datepicker for Ember
JavaScript
50
star
9

ember-power-select-with-create

Ember-power-select addon with an `Add ${term}` option in the first position
JavaScript
50
star
10

ember-ast-helpers

Utility belt to level-up your Ember AST transforms
TypeScript
40
star
11

ember-text-measurer

Simple Ember Service to measure the width of a string in a performant way
JavaScript
38
star
12

ember-power-select-typeahead

Typeahead component built on top of ember-power-select
JavaScript
36
star
13

storyteller

Storyteller application built with Exilir and Dynamo. Is a concurrent storyteller.
Elixir
34
star
14

rubytapas_downloader

Simple ruby script that downloads the latest rubytapas episodes.
Ruby
26
star
15

mobile-patterns

Showcase of mobile UI patterns implemented in Ember.js
JavaScript
21
star
16

ember-hash-helper-polyfill

Polyfill for the new Ember hash helper
JavaScript
15
star
17

precompile-intl-runtime

Runtime helpers to be used in translations precompiled by babel-plugin-precompile-intl
TypeScript
10
star
18

ember-power-select-with-fallback

Ember Power Select that fallbacks to a native select when certain criteria are met
JavaScript
10
star
19

rollup-plugin-precompile-intl

Rollup plugin to precompile translations in the ICU message syntax
JavaScript
9
star
20

ember-power-calendar-moment

Internal utils of Ember Power Calendar built on top of Moment.js
JavaScript
9
star
21

ember-power-select-blockless

Blockless version of ember-power-select
JavaScript
8
star
22

git-repo-version

Calculates the version of a repo based on the package.json and the current SHA
JavaScript
8
star
23

ember-disable-proxy-controllers

Disables ObjectController/ArrayController for autogenerated controllers
JavaScript
7
star
24

babel-plugin-precompile-intl

Compile translations in ICU message format to invocable functions at build time
TypeScript
7
star
25

ember-power-select-places

Ember Power Select ❤️Google Places
JavaScript
6
star
26

ember-power-select-sortable

Ember-power-select <3 Ember-sortable
JavaScript
6
star
27

DahuaDoorbell2MQTT

Node.js script that connects to a Dahua Video Doorbell and broadcasts to MQTT events fired by it.
JavaScript
6
star
28

ember-power-select-collection

Ember-power-select component that {{vertical-collection}} for performance
JavaScript
5
star
29

ember-basic-dropdown-hover

Variation of ember-basic-dropdown that opens on hover
JavaScript
5
star
30

ember-k-codemod

Removes all usages of Ember.K
JavaScript
5
star
31

ember-assign-helper

Simple {{assign}} helper for Ember
JavaScript
5
star
32

ember-code-example-component

Small component to show code snippets (hbs + js + css + evaluated-result)
JavaScript
5
star
33

homeassistant-poolstation

HomeAssistant custom component for integrating the Poolstation platform.
Python
4
star
34

ember-power-calendar-luxon

Internal utils of Ember Power Calendar built on top of Luxon
JavaScript
3
star
35

marvel-api-ember-sample-app

Sample Ember.js app using marvel API
JavaScript
3
star
36

vite-plugin-svelte-inline-components

Allows you to define your components inline in tests using tagged templates
JavaScript
3
star
37

ember-simple-i18n

Simple i18n library for ember.js apps
JavaScript
3
star
38

cibernox.github.io

JavaScript
3
star
39

space-crops

JavaScript
2
star
40

home-assistant-addons

Repository with unofficial addons for home assistant
Shell
2
star
41

spanish_ccc_validator

Simple validator for spanish bank account numbers
Ruby
2
star
42

sample-app-svelte-intl-precompile

Sample app that uses svelte-intl-precompile, to use as a doc
Svelte
2
star
43

web_experiments

Web experiments using pure HTML5 and CSS3 and Javascript
JavaScript
2
star
44

sparkles-ember-basic-dropdown

Just testing sparkles-component
JavaScript
2
star
45

svelte-intl-precompile-docs

Documentation page for Svelte-intl-precompile
JavaScript
2
star
46

ember-proxy-controllers

Ember.ObjectController and Ember.ArrayController extracted as an standalone addon
JavaScript
2
star
47

ember-cli-google-libphonenumber-shim

Ember-cli addon that imports google-libphonenumber and provides shims for it
JavaScript
2
star
48

ember-i18n-errors

Extension to ember-i18n for translating error messages within the route hierarchy
JavaScript
2
star
49

sveltekit-bug-with-plugin

Repro
Svelte
1
star
50

PyPoolstation

Python library to interact the the Poolstation platform
Python
1
star
51

pinkmine

A redmine-inspired project management web app
Ruby
1
star
52

angular-football-experiment

Sample app for learn angular.
CoffeeScript
1
star
53

bencher

Simplest benchmarking library for ruby
Ruby
1
star
54

my-mu-app

Sample ember app with module unification layour
JavaScript
1
star
55

my-mu-addon

First addon ever created with the addon MU blueprint
JavaScript
1
star