An unstyled tag entry component built upon backbone. It is different to other tag components in that it is completely unstyled by default, and heavily opinionated.
<div id="etikett">
</div>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="underscore.js"></script>
<script type="text/javascript" src="backbone.js"></script>
<script type="text/javascript" src="etikett.js"></script>
<script type="text/javascript">
$("#etikett").etikett();
</script>
Add a tag entry component to the given element.
tags
(optional) a backbone collection containing a list of tag models. The tag models must have at least a property with the name of the tag (to specify which property, check out thekey
option below)key
(optional) a string specifying the key on a tag object which should contain the name of the tag. defaults to"tag"
$('#etikett').etikett(); // create etikett
$('#etikett').data('etikett') // -> { view: Backbone.View, tags: Backbone.Collection }
You can alter the tags collection and the interface will automatically follow.
The object returned by etikett()
also has get()
and set()
methods that
allow you to save and retrieve a regular array of tags.
Because etikett is unstyled, you need to add your own CSS. Here's what the structure looks like, for reference:
<div class="etikett">
<span class="etikett-tag" data-cid="c4">
Johanna Kurkela
<span class="etikett-remove"></span>
</span>
<span class="etikett-tag" data-cid="c5">
Finnish
<span class="etikett-remove"></span>
</span>
<input class="etikett-input"/>
<input class="etikett-keytrap" style="width:0px;opacity:0;border:none">
</div>
The main elements to style will be:
.etikett-tag
a tag.etikett-tag.selected
a selected tag.etikett-remove
a remove button.etikett-input
the input area. should probably have amax-width
You should probably not style these:
.etikett-keytrap
this is the keytrap that receives backspace/delete events. It has to be displayed (nodisplay:none
), but should not actually be visible. The defaultstyle
attribute of the element will take care of this.
The data-cid
attributes are used for internal book-keeping by etikett.
MIT