Ethan Dalool
9ac91d3850
On the main tag listing, for child tags, you only get an unlink button on hover. So if you want to delete a child tag you'd have to unlink, then refresh, then delete. Now you can just go to its page and delete it there.
327 lines
7.8 KiB
JavaScript
327 lines
7.8 KiB
JavaScript
var api = {};
|
|
|
|
/**************************************************************************************************/
|
|
api.albums = {};
|
|
|
|
api.albums._add_remove_photos =
|
|
function _add_remove_photos(album_id, photo_ids, add_or_remove, callback)
|
|
{
|
|
var url;
|
|
if (add_or_remove === "add")
|
|
{ url = `/album/${album_id}/add_photo`; }
|
|
else if (add_or_remove === "remove")
|
|
{ url = `/album/${album_id}/remove_photo`; }
|
|
else
|
|
{ throw `should be 'add' or 'remove', not ${add_or_remove}.`; }
|
|
|
|
var data = new FormData();
|
|
|
|
if (Array.isArray(photo_ids))
|
|
{ photo_ids = photo_ids.join(","); }
|
|
data.append("photo_id", photo_ids);
|
|
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.albums.add_child =
|
|
function add_child(album_id, child_id, callback)
|
|
{
|
|
var url = `/album/${album_id}/add_child`;
|
|
var data = new FormData();
|
|
data.append("child_id", child_id);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.albums.add_photos =
|
|
function add_photos(album_id, photo_ids, callback)
|
|
{
|
|
api.albums._add_remove_photos(album_id, photo_ids, "add", callback);
|
|
}
|
|
|
|
api.albums.create =
|
|
function create(title, parent_id, callback)
|
|
{
|
|
var url = "/albums/create_album";
|
|
var data = new FormData();
|
|
if (title !== undefined)
|
|
{
|
|
data.append("title", title);
|
|
}
|
|
if (parent_id !== undefined)
|
|
{
|
|
data.append("parent_id", parent_id);
|
|
}
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.albums.delete =
|
|
function _delete(album_id, callback)
|
|
{
|
|
var url = `/album/${album_id}/delete`;
|
|
common.post(url, null, callback);
|
|
}
|
|
|
|
api.albums.edit =
|
|
function edit(album_id, title, description, callback)
|
|
{
|
|
var url = `/album/${album_id}/edit`;
|
|
var data = new FormData();
|
|
data.append("title", title);
|
|
data.append("description", description);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.albums.refresh_directories =
|
|
function refresh_directories(album_id, callback)
|
|
{
|
|
var url = `/album/${album_id}/refresh_directories`;
|
|
common.post(url, null, callback);
|
|
}
|
|
|
|
api.albums.remove_child =
|
|
function remove_child(album_id, child_id, callback)
|
|
{
|
|
var url = `/album/${album_id}/remove_child`;
|
|
var data = new FormData();
|
|
data.append("child_id", child_id);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.albums.remove_photos =
|
|
function remove_photos(album_id, photo_ids, callback)
|
|
{
|
|
api.albums._add_remove_photos(album_id, photo_ids, "remove", callback);
|
|
}
|
|
|
|
api.albums.callback_follow =
|
|
function callback_follow(response)
|
|
{
|
|
if (response["meta"]["status"] == 200 && response["data"]["id"])
|
|
{
|
|
window.location.href = "/album/" + response["data"]["id"];
|
|
}
|
|
else
|
|
{
|
|
console.log(response);
|
|
}
|
|
}
|
|
|
|
api.albums.callback_go_to_albums =
|
|
function callback_go_to_albums(response)
|
|
{
|
|
if (response["meta"]["status"] == 200)
|
|
{
|
|
window.location.href = "/albums";
|
|
}
|
|
else
|
|
{
|
|
console.log(response);
|
|
}
|
|
}
|
|
|
|
/**************************************************************************************************/
|
|
api.bookmarks = {};
|
|
|
|
api.bookmarks.create =
|
|
function create(b_url, title, callback)
|
|
{
|
|
var url = "/bookmarks/create_bookmark";
|
|
var data = new FormData();
|
|
data.append("url", b_url.trim());
|
|
title = title.trim();
|
|
if (title)
|
|
{
|
|
data.append("title", title);
|
|
}
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.bookmarks.delete =
|
|
function _delete(bookmark_id, callback)
|
|
{
|
|
var url = `/bookmark/${bookmark_id}/delete`;
|
|
common.post(url, null, callback);
|
|
}
|
|
|
|
api.bookmarks.edit =
|
|
function edit(bookmark_id, title, b_url, callback)
|
|
{
|
|
var url = `/bookmark/${bookmark_id}/edit`;
|
|
var data = new FormData();
|
|
data.append("title", title.trim());
|
|
data.append("url", b_url.trim());
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
/**************************************************************************************************/
|
|
api.photos = {};
|
|
|
|
api.photos.add_tag =
|
|
function add_tag(photo_id, tagname, callback)
|
|
{
|
|
var url = `/photo/${photo_id}/add_tag`;
|
|
var data = new FormData();
|
|
data.append("tagname", tagname);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.photos.delete =
|
|
function _delete(photo_id, delete_file, callback)
|
|
{
|
|
var url = `/photo/${photo_id}/delete`;
|
|
var data = new FormData();
|
|
data.append("delete_file", delete_file);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.photos.generate_thumbnail =
|
|
function generate_thumbnail(photo_id, special, callback)
|
|
{
|
|
var url = `/photo/${photo_id}/generate_thumbnail`
|
|
var data = new FormData();
|
|
for (x in special)
|
|
{
|
|
data.append(x, special[x]);
|
|
}
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.photos.refresh_metadata =
|
|
function refresh_metadata(photo_id, callback)
|
|
{
|
|
var url = `/photo/${photo_id}/refresh_metadata`;
|
|
common.post(url, null, callback);
|
|
}
|
|
|
|
api.photos.remove_tag =
|
|
function remove_tag(photo_id, tagname, callback)
|
|
{
|
|
var url = `/photo/${photo_id}/remove_tag`;
|
|
var data = new FormData();
|
|
data.append("tagname", tagname);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.photos.callback_go_to_search =
|
|
function callback_go_to_albums(response)
|
|
{
|
|
if (response["meta"]["status"] == 200)
|
|
{
|
|
window.location.href = "/search";
|
|
}
|
|
else
|
|
{
|
|
console.log(response);
|
|
}
|
|
}
|
|
|
|
/**************************************************************************************************/
|
|
api.tags = {};
|
|
|
|
api.tags.add_child =
|
|
function add_child(tag_name, child_name, callback)
|
|
{
|
|
var url = `/tag/${tag_name}/add_child`;
|
|
var data = new FormData();
|
|
data.append("child_name", child_name);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.tags.create =
|
|
function create(name, description, callback)
|
|
{
|
|
var url = `/tags/create_tag`;
|
|
var data = new FormData();
|
|
data.append("name", name);
|
|
data.append("description", description);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.tags.delete =
|
|
function _delete(tag_name, callback)
|
|
{
|
|
var url = `/tag/${tag_name}/delete`;
|
|
common.post(url, null, callback);
|
|
}
|
|
|
|
api.tags.easybake =
|
|
function easybake(easybake_string, callback)
|
|
{
|
|
var url = "/tags/easybake";
|
|
var data = new FormData();
|
|
data.append("easybake_string", easybake_string);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.tags.edit =
|
|
function edit(tag_name, name, description, callback)
|
|
{
|
|
var url = `/tag/${tag_name}/edit`;
|
|
var data = new FormData();
|
|
data.append("name", name);
|
|
data.append("description", description);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.tags.remove_child =
|
|
function remove_child(tag_name, child_name, callback)
|
|
{
|
|
var url = `/tag/${tag_name}/remove_child`;
|
|
var data = new FormData();
|
|
data.append("child_name", child_name);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.tags.remove_synonym =
|
|
function remove_synonym(tag_name, syn_name, callback)
|
|
{
|
|
var url = `/tag/${tag_name}/remove_synonym`;
|
|
var data = new FormData();
|
|
data.append("syn_name", syn_name);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.tags.callback_go_to_tags =
|
|
function callback_go_to_tags(response)
|
|
{
|
|
if (response["meta"]["status"] == 200)
|
|
{
|
|
window.location.href = "/tags";
|
|
}
|
|
else
|
|
{
|
|
console.log(response);
|
|
}
|
|
}
|
|
|
|
/**************************************************************************************************/
|
|
api.users = {};
|
|
|
|
api.users.login =
|
|
function login(username, password, callback)
|
|
{
|
|
var url = "/login";
|
|
data = new FormData();
|
|
data.append("username", username);
|
|
data.append("password", password);
|
|
common.post(url, data, callback);
|
|
}
|
|
|
|
api.users.logout =
|
|
function logout(callback)
|
|
{
|
|
var url = "/logout";
|
|
common.post(url, null, callback);
|
|
}
|
|
|
|
api.users.register =
|
|
function register(username, display_name, password_1, password_2, callback)
|
|
{
|
|
var url = "/register";
|
|
data = new FormData();
|
|
data.append("username", username);
|
|
data.append("display_name", display_name);
|
|
data.append("password_1", password_1);
|
|
data.append("password_2", password_2);
|
|
common.post(url, data, callback);
|
|
}
|