var gCurrentDisplayedTag = null; function displayTags($container, setupTableFunc) { // add vertical buttons $("#" + getCurrentPanelName() + "Panel").data("vp3-setup-func", setupTableFunc); var $body = $(""); $("") .append($body) .appendTo($container); insertTagButton($body, "[All]"); $.getJSON(formatEndpoint(getPersonalityUrl() + "/tags"), function(data) { $.each(data, function(index, name) { insertTagButton($body, name); }); if (canUpdateDB()) { insertTagButton($body, "[Deleted]"); var $tr = $("").appendTo($body); var $addTag = $("").appendTo($tr); $addTag.keydown(function(event) { if (event.which == $.ui.keyCode.ENTER) { if ($addTag.val()) { addTag($body, $addTag.val()); $addLTag.val(""); } } }); } alignTags($body); }); } function addTag($body, tagName) { $.ajax({ url: formatEndpoint(getPersonalityUrl() + "/tags/" + encodeURIComponent(tagName)), type: "PUT", success: function() { insertTagButton($body, tagName); alignTags($body); showInfo("Tag '" + tagName + "' created successfully"); }, error: function(jqXHR, textStatus, errorThrown) { showError("Tag not created: " + textStatus + "- " + errorThrown); } }); } function insertTagButton($body, text) { var $addInput = $body.find(".addTag"); var $tr; if ($addInput.length > 0) $tr = $("").insertBefore($addInput.closest("tr")); else $tr = $("").appendTo($body); $button = $("