Merge branch 'tag-improvements' of Public/pics into master
This commit was merged in pull request #11.
This commit is contained in:
@@ -148,8 +148,14 @@ class PhotoPage extends SubTemplate
|
||||
foreach ($this->photo->getTags() as $tag)
|
||||
{
|
||||
echo '
|
||||
<li>
|
||||
<a rel="tag" title="View all posts tagged ', $tag->tag, '" href="', $tag->getUrl(), '" class="entry-tag">', $tag->tag, '</a>
|
||||
<li id="tag-', $tag->id_tag, '">
|
||||
<a rel="tag" title="View all posts tagged ', $tag->tag, '" href="', $tag->getUrl(), '" class="entry-tag">', $tag->tag, '</a>';
|
||||
|
||||
if ($tag->kind === 'Person')
|
||||
echo '
|
||||
<a class="delete-tag" title="Unlink this tag from this photo" href="#" data-id="', $tag->id_tag, '">❌</a>';
|
||||
|
||||
echo '
|
||||
</li>';
|
||||
}
|
||||
|
||||
@@ -168,6 +174,25 @@ class PhotoPage extends SubTemplate
|
||||
<script type="text/javascript" src="', BASEURL, '/js/autosuggest.js"></script>
|
||||
<script type="text/javascript">
|
||||
setTimeout(function() {
|
||||
var removeTag = function(event) {
|
||||
event.preventDefault();
|
||||
var that = this;
|
||||
var request = new HttpRequest("post", "', $this->photo->getPageUrl(), '",
|
||||
"id_tag=" + this.dataset["id"] + "&delete", function(response) {
|
||||
if (!response.success) {
|
||||
return;
|
||||
}
|
||||
|
||||
var tagNode = document.getElementById("tag-" + that.dataset["id"]);
|
||||
tagNode.parentNode.removeChild(tagNode);
|
||||
});
|
||||
};
|
||||
|
||||
var tagRemovalTargets = document.getElementsByClassName("delete-tag");
|
||||
Array.forEach(tagRemovalTargets, function(el) {
|
||||
el.addEventListener("click", removeTag);
|
||||
});
|
||||
|
||||
var tag_autosuggest = new TagAutoSuggest({
|
||||
inputElement: "new_tag",
|
||||
listElement: "tag_list",
|
||||
@@ -175,9 +200,25 @@ class PhotoPage extends SubTemplate
|
||||
appendCallback: function(item) {
|
||||
var request = new HttpRequest("post", "', $this->photo->getPageUrl(), '",
|
||||
"id_tag=" + item.id_tag, function(response) {
|
||||
var newNode = document.createElement("li");
|
||||
var newLink = document.createElement("a");
|
||||
newLink.href = item.url;
|
||||
|
||||
var newLabel = document.createTextNode(item.label);
|
||||
newNode.appendChild(newLabel);
|
||||
newLink.appendChild(newLabel);
|
||||
|
||||
var removeLink = document.createElement("a");
|
||||
removeLink.className = "delete-tag";
|
||||
removeLink.dataset["id"] = item.id_tag;
|
||||
removeLink.href = "#";
|
||||
removeLink.addEventListener("click", removeTag);
|
||||
|
||||
var crossmark = document.createTextNode("❌");
|
||||
removeLink.appendChild(crossmark);
|
||||
|
||||
var newNode = document.createElement("li");
|
||||
newNode.id = "tag-" + item.id_tag;
|
||||
newNode.appendChild(newLink);
|
||||
newNode.appendChild(removeLink);
|
||||
|
||||
var list = document.getElementById("tag_list");
|
||||
list.appendChild(newNode);
|
||||
|
||||
Reference in New Issue
Block a user