elo7-tag-amd v1.2.1
tag-amd
Transform an input into a tag container.
Dependencies
tag-amd depends on an AMD loader (we recommend async-define) and on doc-amd.
Installation
You can use either bower or npm (preferred) to install it into your project:
bower install tag-amd
npm install elo7-tag-amdIn 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.
Usage
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);
}
});
});API
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
License
tag-amd is released under the BSD license. Have at it.
Copyright ©️ 2017 Elo7# tag-amd