A tag editor coded in ES6 with React.js as its dependency
React-TagEditor
A tag editor coded in ES6, with React.js as its dependency. Inspired by StackOverflow's tag editor.
Features
- Basic editing/removing
- Navigating through tags via
left/right
on keyboard - Tag can be modified after being created
- Tag can be split at the cursor point.
Install
bower:
bower install react-tageditor --save
<link rel="stylesheet" href="./bower_components/react-tageditor/dist/style/default.css">
<script src="./bower_components/react/react.js"></script>
<script src="./bower_components/react-tageditor/dist/index.js"></script>
npm:
npm install react-tageditor --save
API
Attributes
<TagEditor tags={[]} delimiters={[]} placeholder="" />
All attributes are optional.
tags
: An array of tags.delimiters
: An array of delimiters for splitting tags. Element in array could be string or number(keyCode).placeholder
validation(currentTag, allTags)
: A function for validating. Throw an error when tag/tags do not meet your requirement. Error will be passed toonError
.onChange(tagsChanged, allTags, action)
: Callback triggered after tags added or removed.action
will beadd
orremove
.onError(error)
: Callback triggered on error. Access more information about the error viaerror.name
&error.message
.
Methods
add(tagText)
remove(tagText)
output()
: returns an array of tag text
Styling
$tagColor: #aaa !default;
$tagColorActive: #555 !default;
$tagBgColor: #ebebeb !default;
$tagFontSize: 1rem !default;
$editorBorder: #ccc !default;
$editorBorderActive: #808080 !default;
$placeholderColor: #777 !default;
$pink: #f2c9c9 !default;
$crimson: #5c0909 !default;
Development
-
gem install sass
-
npm install
This will installreact
,webpack
,babel-loader
and other dependencies. -
bower install
This will installreact
,neutron
for building examples. -
npm run build
Compile ourjs/scss
files todist/