ObserveJS.bind 'Post.Tags.Form', class
loaded: => @on 'input', @search @on 'submit', @send @on 'tags:index', @refresh @on 'tags:create', @append @element().querySelector('#TagName').focus() send: (e) => e.preventDefault() e.stopPropagation() ObserveJS.XHR.send(@element()) search: (e) => xhr = new ObserveJS.XHR(@element()) xhr.method = 'GET' xhr.data.set 'q', e.target.value xhr.send() append: (e) => oid = e.HTML.getAttribute('oid') list = @element().nextElementSibling el = list.querySelector("[oid='#{oid}']") if el? el.parentElement.replaceChild(e.HTML, el) return el = list.querySelector('li.empty') if el? el.remove() list.appendChild(e.HTML) return refresh: (e) => sibling = @element().nextElementSibling list = e.HTML.querySelector('ul.tags') @element().parentElement.replaceChild(list, sibling)