Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-selectize

Package Overview
Dependencies
Maintainers
1
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-selectize

react implementation of selectize

  • 0.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
12K
decreased by-4.15%
Maintainers
1
Weekly downloads
 
Created
Source

React Selecitze

A flexible & stateless select component for ReactJS built with livescript and love. ReactSelectize comes in 3 favours SimpleSelect (or single select), MultiSelect & ReactSelectize. Both the SimpleSelect & the MultiSelect components are built on top of the stateless ReactSelectize component.

LIVE DEMO: furqanZafar.github.io/react-selectize

Install

npm install react-selectize

Usage (livescript)

{create-factory}:React = require \react
{SimpleSelect, MultiSelect, ReactSelectize} = require \ReactSelectize
SimpleSelect = create-factory SimpleSelect
MultiSelect = create-factory MultiSelect
.
.
.
SimpleSelect do     
    placeholder: 'Select a fruit'
    options: <[apple mango orange banana]> |> map ~> label: it, value: it
    on-value-change: (value, callback) ~>
        alert value
        callback!
.
.
.
MultiSelect do
    placeholder: 'Select fruits'
    options: <[apple mango orange banana]> |> map ~> label: it, value: it
    on-values-change: (values, callback) ~>
        alert values
        callback!

Usage (jsx)

React = require("react");
ReactSelectize = require("ReactSelectize");
SimpleSelect = React.createFactory(ReactSelectize.SimpleSelect);
MultiSelect = React.createFactory(ReactSelectize.MultiSelect);
.
.
.
<SimpleSelect
    placeholder = "Select a fruit"
    options = ["apple", "mango", "orange", "banana"].map(function(fruit){
        return {label: fruit, value: fruit};
    });
    onValueChange = {function(value, callback){
        alert(value);
        callback();
    }}
/>
.
.
.
<MultiSelect
    placeholder = "Select fruits"
    options = ["apple", "mango", "orange", "banana"].map(function(fruit){
        return {label: fruit, value: fruit};
    });
    onValuesChange = {function(values, callback){
        alert(values);
        callback();
    }}
/>

Usage (stylus)

to include the default styles when using SimpleSelect component, add the following import statement to your stylus file:

@import 'node_modules/react-selectize/src/SimpleSelect.css'

to include the default styles when using MultiSelect component, add the following import statement to your stylus file:

@import 'node_modules/react-selectize/src/MultiSelect.css'

SimpleSelect Props

PropertyTypeDescription
classNameStringclass name for the outer element, in addition to "simple-select"
disabledBooleandisables interaction with the Select control
createFromSearch[Item] -> String -> Item?implement this function to create new items on the fly, function(options, search){return {label: search, value: search}}, return null to avoid option creation for the given parameters
filterOptions[Item] -> Item -> String -> [Item]implement this function for custom filtering logic, function(options, value, search) {return options}
onBlurItem -> String -> Voidfunction(value, reason){} reason can be either "click" (loss of focus because the user clicked elsewhere), "tab" or "blur" (invoked refs.simpleSelect.blur())
onFocusItem -> String -> Voidfunction(value, reason){} reason can be either "event" (when the control gains focus outside) or "focus" (when the user invokes refs.simpleSelect.focus())
onSearchChangeString -> (a -> Void) -> Voidfunction(search, callback){self.setState({search: search}, callback);} or function(search,callback){callback();} i.e. callback MUST always be invoked
onValueChangeItem -> (a -> Void) -> Voidfunction(selectedValue, callback){self.setState({selectedValue: selectedValue}, callback)} or function(value, callback){callback()} i.e. callback MUST always be invoked
options[Item]list of items by default each option object MUST have label & value property, otherwise you must implement the render* & filterOptions methods
placeholder:Stringdisplayed when there is no value
renderNoResultsFoundItem -> String -> ReactElementfunction(item, search){return React.DOM.div(null);} returns a custom way for rendering the "No results found" error
renderOptionInt -> Item -> ReactElementfunction(index, item){return React.DOM.div(null);} returns a custom way for rendering each option
renderValueInt -> Item -> ReactElementfunction(index, item){return React.DOM.div(null);} returns a custom way for rendering the selected value
restoreOnBackspaceItem -> Stringfunction(item){return item.label;} implement this method if you want to go back to editing the item when the user hits the [backspace] key instead of getting removed
searchStringthe text displayed in the search box
styleObjectthe CSS styles for the outer element
valueItemthe selected value, i.e. one of the objects in the options array

MultiSelect Props

In addition to the props above

PropertyTypeDescription
createFromSearch[Item] -> [Item] -> String -> Item?function(options, values, search){return {label: search, value: search}}
filterOptions[Item] -> [Item] -> String -> [Item]function(options, values, search){return options}
onBlur[Item] -> String -> Voidfunction(values, reason){}
onFocus[Item] -> String -> Voidfunction(values, reason){}
onValuesChange[Item] -> (a -> Void) -> Voidfunction(values, callback){callback();}

Development

  • npm install
  • copy the following to config.ls
module.exports = 
    minify: true
  • gulp
  • visit localhost:8000

FAQs

Package last updated on 10 Sep 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc