Files
danbooru/app/assets/javascripts/posts.js
2011-05-24 18:24:45 -04:00

226 lines
7.1 KiB
JavaScript

// PostModeMenu = {
// init: function() {
// this.original_background_color = $(document.body).css("background-color")
//
// if (Cookie.get("mode") == "") {
// Cookie.put("mode", "view");
// $("#mode-box select").val("view");
// } else {
// $("#mode-box select").val(Cookie.get("mode"));
// }
//
// // this.change();
// },
//
// change: function() {
// var s = $("#mode-box select").val();
// Cookie.put("mode", s, 7);
//
// if (s == "view") {
// $(document.body).css({"background-color": this.original_background_color});
// } else if (s == "edit") {
// $(document.body).css({"background-color": "#3A3"});
// } else if (s == "add-fav") {
// $(document.body).css({"background-color": "#FFA"});
// } else if (s == "remove-fav") {
// $(document.body).css({"background-color": "#FFA"});
// } else if (s == "rating-q") {
// $(document.body).css({"background-color": "#AAA"});
// } else if (s == "rating-s") {
// $(document.body).css({"background-color": "#6F6"});
// } else if (s == "rating-e") {
// $(document.body).css({"background-color": "#F66"});
// } else if (s == "vote-down") {
// $(document.body).css({"background-color": "#FAA"});
// } else if (s == "vote-up") {
// $(document.body).css({"background-color": "#AFA"});
// } else if (s == "lock-rating") {
// $(document.body).css({"background-color": "#AA3"});
// } else if (s == "lock-note") {
// $(document.body).css({"background-color": "#3AA"});
// } else if (s == "approve") {
// $(document.body).css({"background-color": "#26A"});
// } else if (s == "unapprove") {
// $(document.body).css({"background-color": "#F66"});
// } else if (s == "add-to-pool") {
// $(document.body).css({"background-color": "#26A"});
// } else if (s == "apply-tag-script") {
// $(document.body).css({"background-color": "#A3A"});
// } else if (s == "edit-tag-script") {
// $(document.body).css({"background-color": "#FFF"});
//
// var script = Cookie.get("tag-script");
// script = prompt("Enter a tag script", script);
//
// if (script) {
// Cookie.put("tag-script", script);
// $("#mode-box select").val("apply-tag-script");
// } else {
// $("#mode-box select").val("view");
// }
//
// this.change();
// } else {
// $(document.body).css({"background-color": "#AFA"});
// }
// },
//
// click: function(post_id) {
// var s = $("#mode-box select").val();
//
// if (s.value == "view") {
// return true;
// } else if (s.value == "add-fav") {
// Favorite.create(post_id);
// } else if (s.value == "remove-fav") {
// Favorite.destroy(post_id);
// } else if (s.value == "edit") {
// // TODO
// } else if (s.value == 'vote-down') {
// PostVote.create("down", post_id);
// } else if (s.value == 'vote-up') {
// PostVote.create("up", post_id);
// } else if (s.value == 'rating-q') {
// Post.update(post_id, {"post[rating]": "questionable"});
// } else if (s.value == 'rating-s') {
// Post.update(post_id, {"post[rating]": "safe"});
// } else if (s.value == 'rating-e') {
// Post.update(post_id, {"post[rating]": "explicit"});
// } else if (s.value == 'lock-rating') {
// Post.update(post_id, {"post[is_rating_locked]": "1"});
// } else if (s.value == 'lock-note') {
// Post.update(post_id, {"post[is_note_locked]": "1"});
// } else if (s.value == 'unapprove') {
// Unapproval.create(post_id);
// } else if (s.value == "approve") {
// Post.update(post_id, {"post[is_pending]": "0"});
// } else if (s.value == 'add-to-pool') {
// Pool.add_post(post_id, 0);
// } else if (s.value == "apply-tag-script") {
// var tag_script = Cookie.get("tag-script");
// TagScript.run(post_id, tag_script);
// }
//
// return false;
// }
// }
//
// TagScript = {
// parse: function(script) {
// return script.match(/\[.+?\]|\S+/g);
// },
//
// test: function(tags, predicate) {
// var split_pred = predicate.match(/\S+/g);
// var is_true = true;
//
// split_pred.each(function(x) {
// if (x[0] == "-") {
// if (tags.include(x.substr(1, 100))) {
// is_true = false;
// throw $break;
// }
// } else {
// if (!tags.include(x)) {
// is_true = false;
// throw $break;
// }
// }
// })
//
// return is_true
// },
//
// process: function(tags, command) {
// if (command.match(/^\[if/)) {
// var match = command.match(/\[if\s+(.+?)\s*,\s*(.+?)\]/)
// if (TagScript.test(tags, match[1])) {
// return TagScript.process(tags, match[2]);
// } else {
// return tags;
// }
// } else if (command == "[reset]") {
// return [];
// } else if (command[0] == "-") {
// return tags.reject(function(x) {return x == command.substr(1, 100)})
// } else {
// tags.push(command)
// return tags;
// }
// },
//
// run: function(post_id, tag_script) {
// var commands = TagScript.parse(tag_script);
// var post = Post.posts.get(post_id);
// var old_tags = post.tags.join(" ");
//
// commands.each(function(x) {
// post.tags = TagScript.process(post.tags, x);
// })
//
// Post.update(post_id, {"post[old_tags]": old_tags, "post[tags]": post.tags.join(" ")});
// }
// }
(function() {
Danbooru.Post = {};
Danbooru.Post.initialize_all = function() {
this.initialize_tag_and_wiki_menu();
this.initialize_tag_list();
this.initialize_post_sections();
}
Danbooru.Post.initialize_tag_list = function() {
$("#tag-box a.search-inc-tag").click(function(e) {
$("#tags").val($("#tags").val() + " " + $(e.target).parent("li").data("tag-name"));
return false;
});
$("#tag-box a.search-exl-tag").click(function(e) {
$("#tags").val($("#tags").val() + " -" + $(e.target).parent("li").data("tag-name"));
return false;
});
}
Danbooru.Post.initialize_tag_and_wiki_menu = function() {
$("#tag-and-wiki-box h1 a").click(function(e) {
$("#tag-box").hide();
$("#wiki-box").hide();
$("#tag-and-wiki-box menu li").toggleClass("active");
var name = e.target.hash;
$(name).show();
e.stopPropagation();
return false;
});
$("#tag-and-wiki-box menu li:first-child").addClass("active");
$("#wiki-box").hide();
}
Danbooru.Post.initialize_post_sections = function() {
$("#post-sections li a").click(function(e) {
$("#comments").hide();
$("#notes").hide();
$("#edit").hide();
$("#post-sections li").removeClass("active");
$(e.target).parent("li").addClass("active");
var name = e.target.hash;
$(name).show();
e.stopPropagation();
return false;
});
$("#post-sections li:first-child").addClass("active");
$("#notes").hide();
$("#edit").hide();
}
})();
$(document).ready(function() {
// $("#mode-box select").click(PostModeMenu.change);
// PostModeMenu.init();
Danbooru.Post.initialize_all();
});