Transform an input into a tag container.
tag-amd depends on an AMD loader (we recommend async-define) and on doc-amd.
You can use either bower
or npm
(preferred) to install it into your project:
bower install tag-amd
npm install elo7-tag-amd
In the download package, there will be a JavaScript file (dist/tag.min.js
) and a CSS file (dist/tag.min.css
). The CSS file is optional; you may use it as a reference for your own styling.
In your HTML file, import the library and its dependencies (assuming you are using async-define):
<script src='async-define.js'></script>
<script src='events-amd.js' async></script>
<script src='doc.js' async></script>
<script src='tag.js' async></script>
Important: events-amd
its a doc-amd
dependency.
Create a form control for your user to type the tags using either <input>
or <textarea>
:
<label for='my-tag-field'>Type your tags here</label>
<input id='my-tag-field'>
Important: do not put the tag field inside a <label>
element!
Then, in your own JavaScript files, transform the input into a tag field:
define(['tag'], function(tag) {
tag.tagify('#my-tag-field');
});
You may optionally specify callbacks by passing an object as second argument:
define(['tag'], function(tag) {
tag.tagify('#my-tag-field', {
added: function(addedTags) {
console.log('Hey! Here is an array of new tags for you', addedTags);
}
});
});
tag.tagify(cssSelector, options)
where options
is an object that may contain the following callbacks:
added(addedTags)
: called when one or more tags are added to the list of tags; receives an array with the new tags as argumentremoved(removedTag)
: called when a tag is removed from the list; receives the removed tag as argumenterrorAlreadyExists(tagInput)
: called when the user tries to add a tag that already exists in the list; receives the input as argumenterrorCleared(tagInput)
: called when the user edits the tag field after an error; receives the input as argumentmaxlengthExceeded()
: called when the input's maxlength is reached after adding a tag, not when the user is typing the tags; receives no arguments
tag-amd is released under the BSD license. Have at it.
Copyright ©️ 2017 Elo7# tag-amd