Giter Site home page Giter Site logo

infinum / angular2-select Goto Github PK

View Code? Open in Web Editor NEW

This project forked from basvandenberg/ng-select

3.0 8.0 1.0 3.66 MB

A native angular 2 select component (based on select2).

License: ISC License

TypeScript 67.97% JavaScript 4.74% CSS 6.71% HTML 20.58%

angular2-select's Introduction

Angular 2 select component

A native select component for angular 2, based on the select2 JQuery plugin.

See the angular2-select page for example uses or try it with this plunker.

The beta version is here! With new features and bug fixes. See the changelog for more details.

Disclaimer: The beta version is a complete rewrite of the alpha version, so new bugs are to be expected. Please do not yet rely on this beta version for production releases.

Getting started

Install

For npm users:

npm install --save angular2-select

For yarn users:

yarn add angular2-select

Configuration

Angular cli

After installation, no additional configuration is needed. Import the SelectModule and define it as one of the imports of your application module:

import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {SelectModule} from 'angular2-select';

import {AppComponent} from './app.component';

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule
        SelectModule
    ],
    bootstrap: [
        AppComponent
    ]
})
export class AppModule {}

Systemjs

Not yet tested for the beta version.

In systemjs.config.js add angular2-select to map and package:

var map = {
	'angular2-select': 'node_modules/angular2-select'
};

var packages = {
	'angular2-select': {
		main: 'index.js',
		defaultExtension: 'js'
	}
};

Input properties

Name Type Default Description
options Array<option>* List of select option.
allowClear boolean false Only applies to single select. If set to true, a clickable clear selection cross is shown.
disabled boolean false If set to true, the select component is disabled.
highlightColor string #2196f3 Background color of highlighted option.
highlightTextColor string #fff Text color of highlighted option.
multiple boolean false If set to true, the select component is multi-select, otherwise single select.
noFilter number 0 Filter is hidden if the number of options is less than the given number.
notFoundMsg string "No results found" The message shown if no options are found for the current filter input value.
placeholder string "" Placeholder text that is shown if no options are selected.

* option is an object with value and label ({value: string, label: string})

Output events

Name Value Description
opened null If the select drop down is opened.
closed null If the select drop down is closed.
selected option* If an options is selected, returning the selected option.
deselected option* or [option]* If one or more options are deselected, returning the selected option(s).
noOptionsFound null When the filter result changes to 'no results found'.

* option is an object with value and label ({value: string, label: string})

Methods

Name Parameters Description
open - Open the select drop down.
close - Close the select drop down.
clear - Deselect all selected options.
select value: string Select the option with the given value.

Limitations

Scalability

For now, this component is not suitable for large numbers of options. If the dropdown is opened, all options are added to the DOM, which will cause browser performance issues for large numbers of options. Therefore, if you have more that a few hundred options, then you will be better of with another solution.

Drop down positioning

TODO

Develop

Global installations of gulp and yarn are required for development. Clone or fork the repository and run:

yarn install
gulp build

angular2-select's People

Contributors

aboglioli avatar fank avatar matthewhegarty avatar mlessio avatar morejs avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

fvoska

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.