feat(web): new menu handling supports two view menus at once
This commit is contained in:
@@ -9,76 +9,15 @@ $(window).on("load", function () {
|
||||
});
|
||||
sasahyou_load();
|
||||
sasahyou.forEach((sasa) => {
|
||||
$(".contents-wrapper").append(`<div class="item sasa" id="s${sasa.id}" title="${sasa.path.split('/').slice(-1)}"><img class="thumb" data-src="${"/thumbs/" + sasa.path}"><div class="overlay"></div></div>`);
|
||||
$(".contents-wrapper").append(`<div class="item sasa" sid="${sasa.id}" title="${sasa.path.split('/').slice(-1)}"><img class="thumb" data-src="${"/thumbs/" + sasa.path}"><div class="overlay"></div></div>`);
|
||||
$("#menu-tag-view .list").append(`<div class="list-item sasa" sid="${sasa.id}" title="${sasa.path.split('/').slice(-1)}"><img class="thumb" data-src="${"/thumbs/" + sasa.path}"><div class="overlay"></div></div>`);
|
||||
});
|
||||
sappyou_load();
|
||||
sappyou.forEach((tanzaku) => {
|
||||
$(".list").append(`<div class="list-item tanzaku" id="t${tanzaku.id}">${tanzaku.name}</div>`);
|
||||
$("#menu-file-view .list").append(`<div class="list-item tanzaku" tid="${tanzaku.id}">${tanzaku.name}</div>`);
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on("dblclick", ".item", function (e) {
|
||||
e.preventDefault();
|
||||
let id = parseInt($(this).attr("id").slice(1));
|
||||
current_sasa_index = 0;
|
||||
sasahyou.every(sasa => {
|
||||
if (sasa.id === id) {
|
||||
current_sasa = sasa;
|
||||
return false;
|
||||
}
|
||||
current_sasa_index++;
|
||||
return true;
|
||||
});
|
||||
menu_view_file_open();
|
||||
});
|
||||
|
||||
$(document).on("input", "#text-filter", function (e) {
|
||||
let filter = $(this).val().toLowerCase();
|
||||
let unfiltered;
|
||||
if ($("#selection-filter")[0].checked) {
|
||||
unfiltered = $(".list-item.selected");
|
||||
} else {
|
||||
unfiltered = $(".list-item");
|
||||
}
|
||||
if (filter === "") {
|
||||
unfiltered.css("display", "block");
|
||||
return;
|
||||
}
|
||||
unfiltered.each((index, element) => {
|
||||
let current = $(element);
|
||||
if (current.text().toLowerCase().includes(filter)) {
|
||||
current.css("display", "block");
|
||||
} else {
|
||||
current.css("display", "none");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on("submit", "#menu-file-view form", function (e) {
|
||||
e.preventDefault();
|
||||
let resp = tdb_query("$TFM", 24, '' + current_sasa.id);
|
||||
if (!resp.status) {
|
||||
alert("Something went wrong!");
|
||||
return;
|
||||
}
|
||||
resp.data.forEach(tanzaku => {
|
||||
let current = $(`#t${tanzaku.id}`)
|
||||
if (current.hasClass("selected")) {
|
||||
current.removeClass("selected");
|
||||
} else {
|
||||
if (!tdb_query("$TFM", 9, '' + current_sasa.id + ' ' + tanzaku.id).status) {
|
||||
console.log("ERROR: failed to remove kazari: " + current_sasa.id + '-' + tanzaku.id);
|
||||
}
|
||||
}
|
||||
});
|
||||
$(".tanzaku.selected").each(function (index, element) {
|
||||
if (!tdb_query("$TFM", 10, '' + current_sasa.id + ' ' + $(element).attr("id").slice(1))) {
|
||||
console.log("ERROR: failed to add kazari: " + current_sasa.id + '-' + $(element).attr("id").slice(1));
|
||||
}
|
||||
});
|
||||
menu_view_close();
|
||||
});
|
||||
|
||||
$(document).on("submit", "#menu-add form", function (e) {
|
||||
e.preventDefault();
|
||||
let resp = tdb_query("$TFM", 18, $("#new-name").val());
|
||||
|
||||
+177
-32
@@ -20,6 +20,7 @@ if (localStorage["shoppyou_mts"] != null) {
|
||||
}
|
||||
var current_sasa = null, current_tanzaku = null;
|
||||
var current_sasa_index = -1;
|
||||
var menu_count = 0;
|
||||
|
||||
function sasahyou_load() {
|
||||
let db_info = tdb_query("$TFM", 0, "");
|
||||
@@ -79,12 +80,15 @@ function shoppyou_load() {
|
||||
}
|
||||
|
||||
function menu_view_file_open() {
|
||||
$(".selected").removeClass("selected");
|
||||
$(".menu-wrapper").css("display", "flex");
|
||||
if (menu_count > 1) {
|
||||
return;
|
||||
}
|
||||
menu_count++;
|
||||
$("#menu-file-view .selected").removeClass("selected");
|
||||
$("#menu-file-view").css("display", "flex");
|
||||
$("#preview").attr("src", "/preview/" + current_sasa.path);
|
||||
$("#name").val(decodeURI(current_sasa.path));
|
||||
$(".list-item").css("display", "");
|
||||
$("#file-name").val(decodeURI(current_sasa.path));
|
||||
$("#menu-file-view .list-item").css("display", "");
|
||||
$("#btn-full").attr("href", "/files/" + current_sasa.path);
|
||||
let resp = tdb_query("$TFM", 24, '' + current_sasa.id);
|
||||
if (!resp.status) {
|
||||
@@ -92,53 +96,63 @@ function menu_view_file_open() {
|
||||
return;
|
||||
}
|
||||
resp.data.forEach(tanzaku => {
|
||||
$(`#t${tanzaku.id}`).addClass("selected");
|
||||
$(`.list-item[tid="${tanzaku.id}"]`).addClass("selected");
|
||||
});
|
||||
if ($("#selection-filter")[0].checked) {
|
||||
$(".list-item:not(.selected)").css("display", "none");
|
||||
if ($("#file-selection-filter")[0].checked) {
|
||||
$("#menu-file-view .list-item:not(.selected)").css("display", "none");
|
||||
} else {
|
||||
$(".list-item:not(.selected)").css("display", "block");
|
||||
$("#menu-file-view .list-item:not(.selected)").css("display", "block");
|
||||
}
|
||||
}
|
||||
|
||||
function menu_view_tag_open() {
|
||||
if (menu_count > 1) {
|
||||
return;
|
||||
}
|
||||
menu_count++;
|
||||
$(function () {
|
||||
$(".thumb").Lazy({
|
||||
$("#menu-tag-view .thumb").Lazy({
|
||||
scrollDirection: "vertical",
|
||||
effect: "fadeIn",
|
||||
visibleOnly: true,
|
||||
appendScroll: $(".list")[0],
|
||||
});
|
||||
});
|
||||
$(".selected").removeClass("selected");
|
||||
$(".menu-wrapper").css("display", "flex");
|
||||
$("#menu-view").css("display", "flex");
|
||||
$("#name").val(decodeURI(current_tanzaku.name));
|
||||
$("#menu-tag-view .selected").removeClass("selected");
|
||||
$("#menu-tag-view").css("display", "flex");
|
||||
$("#menu-tag-view .list-item").css("display", "");
|
||||
$("#tag-name").val(decodeURI(current_tanzaku.name));
|
||||
let resp = tdb_query("$TFM", 40, '' + current_tanzaku.id);
|
||||
if (!resp.status) {
|
||||
alert("Something went wrong!");
|
||||
return;
|
||||
}
|
||||
resp.data.forEach(sasa => {
|
||||
$(`#s${sasa.id}`).addClass("selected");
|
||||
$(`.list-item[sid="${sasa.id}"]`).addClass("selected");
|
||||
});
|
||||
if ($("#selection-filter")[0].checked) {
|
||||
$(".list-item:not(.selected)").css("display", "none");
|
||||
if ($("#tag-selection-filter")[0].checked) {
|
||||
$("#menu-tag-view .list-item:not(.selected)").css("display", "none");
|
||||
} else {
|
||||
$(".list-item:not(.selected)").css("display", "block");
|
||||
$("#menu-tag-view .list-item:not(.selected)").css("display", "block");
|
||||
}
|
||||
}
|
||||
|
||||
function menu_view_close() {
|
||||
$(".menu-wrapper").css("display", "none");
|
||||
$("#menu-view").css("display", "none");
|
||||
function menu_view_file_close() {
|
||||
menu_count--;
|
||||
$("#menu-file-view").css("display", "none");
|
||||
$(".list-item").removeClass("selected").css("display", "");
|
||||
$("#name").val("");
|
||||
$(".menu #text-filter").val("");
|
||||
$("#menu-file-view .list-item").removeClass("selected").css("display", "");
|
||||
$("#file-name").val("");
|
||||
$("#text-filter").val("");
|
||||
current_sasa_index = -1;
|
||||
}
|
||||
|
||||
function menu_view_tag_close() {
|
||||
menu_count--;
|
||||
$("#menu-tag-view").css("display", "none");
|
||||
$("#menu-tag-view .list-item").removeClass("selected").css("display", "");
|
||||
$("#tag-name").val("");
|
||||
}
|
||||
|
||||
function menu_add_open() {
|
||||
$(".menu-wrapper").css("display", "flex");
|
||||
$("#menu-add").css("display", "flex");
|
||||
@@ -153,21 +167,23 @@ function menu_add_close() {
|
||||
|
||||
function file_next() {
|
||||
if (current_sasa_index === sasahyou.length - 1) {
|
||||
menu_view_close();
|
||||
menu_view_file_close();
|
||||
return;
|
||||
}
|
||||
current_sasa_index++;
|
||||
current_sasa = sasahyou[current_sasa_index];
|
||||
menu_count--;
|
||||
menu_view_file_open();
|
||||
}
|
||||
|
||||
function file_prev() {
|
||||
if (current_sasa_index === 0) {
|
||||
menu_view_close();
|
||||
menu_view_file_close();
|
||||
return;
|
||||
}
|
||||
current_sasa_index--;
|
||||
current_sasa = sasahyou[current_sasa_index];
|
||||
menu_count--;
|
||||
menu_view_file_open();
|
||||
}
|
||||
|
||||
@@ -210,6 +226,34 @@ $(document).on("click", ".item", function (e) {
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on("dblclick", ".sasa", function (e) {
|
||||
e.preventDefault();
|
||||
let id = parseInt($(this).attr("sid"));
|
||||
current_sasa_index = 0;
|
||||
sasahyou.every(sasa => {
|
||||
if (sasa.id === id) {
|
||||
current_sasa = sasa;
|
||||
return false;
|
||||
}
|
||||
current_sasa_index++;
|
||||
return true;
|
||||
});
|
||||
menu_view_file_open();
|
||||
});
|
||||
|
||||
$(document).on("dblclick", ".tanzaku", function (e) {
|
||||
e.preventDefault();
|
||||
let id = parseInt($(this).attr("tid"));
|
||||
sappyou.every(tanzaku => {
|
||||
if (tanzaku.id === id) {
|
||||
current_tanzaku = tanzaku;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
menu_view_tag_open();
|
||||
});
|
||||
|
||||
$(document).on("click", "#btn-new", function (e) {
|
||||
e.preventDefault();
|
||||
menu_add_open();
|
||||
@@ -223,24 +267,125 @@ $(document).on("click", ".list-item", function (e) {
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on("click", "#selection-filter", function (e) {
|
||||
$(document).on("click", "#file-selection-filter", function (e) {
|
||||
let notselected = $("#menu-file-view .list-item:not(.selected)");
|
||||
if (this.checked) {
|
||||
$(".list-item:not(.selected)").css("display", "none");
|
||||
notselected.css("display", "none");
|
||||
} else {
|
||||
$(".list-item:not(.selected)").css("display", "block");
|
||||
notselected.css("display", "block");
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on("click", "#btn-close", function (e) {
|
||||
e.preventDefault();
|
||||
menu_view_close();
|
||||
$(document).on("click", "#tag-selection-filter", function (e) {
|
||||
let notselected = $("#menu-tag-view .list-item:not(.selected)");
|
||||
if (this.checked) {
|
||||
notselected.css("display", "none");
|
||||
} else {
|
||||
notselected.css("display", "block");
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on("click", "#btn-reset", function (e) {
|
||||
$(document).on("input", "#text-filter", function (e) {
|
||||
let filter = $(this).val().toLowerCase();
|
||||
let unfiltered;
|
||||
if ($("#selection-filter")[0].checked) {
|
||||
unfiltered = $(".list-item.selected");
|
||||
} else {
|
||||
unfiltered = $(".list-item");
|
||||
}
|
||||
if (filter === "") {
|
||||
unfiltered.css("display", "block");
|
||||
return;
|
||||
}
|
||||
unfiltered.each((index, element) => {
|
||||
let current = $(element);
|
||||
if (current.text().toLowerCase().includes(filter)) {
|
||||
current.css("display", "block");
|
||||
} else {
|
||||
current.css("display", "none");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on("reset", "#menu-file-view form", function (e) {
|
||||
e.preventDefault();
|
||||
menu_view_file_close();
|
||||
});
|
||||
|
||||
$(document).on("reset", "#menu-tag-view form", function (e) {
|
||||
e.preventDefault();
|
||||
menu_view_tag_close();
|
||||
});
|
||||
|
||||
$(document).on("reset", "#menu-add form", function (e) {
|
||||
e.preventDefault();
|
||||
menu_add_close();
|
||||
});
|
||||
|
||||
$(document).on("submit", "#menu-file-view form", function (e) {
|
||||
e.preventDefault();
|
||||
let resp = tdb_query("$TFM", 24, '' + current_sasa.id);
|
||||
if (!resp.status) {
|
||||
alert("Something went wrong!");
|
||||
return;
|
||||
}
|
||||
resp.data.forEach(tanzaku => {
|
||||
let current = $(`.list-item[tid="${tanzaku.id}"]`);
|
||||
if (current.hasClass("selected")) {
|
||||
current.removeClass("selected");
|
||||
} else {
|
||||
if (!tdb_query("$TFM", 9, '' + current_sasa.id + ' ' + tanzaku.id).status) {
|
||||
console.log("ERROR: failed to remove kazari: " + current_sasa.id + '-' + tanzaku.id);
|
||||
}
|
||||
}
|
||||
});
|
||||
$(".tanzaku.selected").each(function (index, element) {
|
||||
if (!tdb_query("$TFM", 10, '' + current_sasa.id + ' ' + $(element).attr("tid"))) {
|
||||
console.log("ERROR: failed to add kazari: " + current_sasa.id + '-' + $(element).attr("tid"));
|
||||
}
|
||||
});
|
||||
menu_view_file_close();
|
||||
});
|
||||
|
||||
$(document).on("submit", "#menu-tag-view form", function (e) {
|
||||
e.preventDefault();
|
||||
let resp = tdb_query("$TFM", 40, '' + current_tanzaku.id);
|
||||
if (!resp.status) {
|
||||
alert("Something went wrong!");
|
||||
return;
|
||||
}
|
||||
resp.data.forEach(sasa => {
|
||||
let current = $(`.list-item[sid="${sasa.id}"]`);
|
||||
if (current.hasClass("selected")) {
|
||||
current.removeClass("selected");
|
||||
} else {
|
||||
if (!tdb_query("$TFM", 9, '' + sasa.id + ' ' + current_tanzaku.id).status) {
|
||||
console.log("ERROR: failed to remove kazari: " + sasa.id + '-' + current_tanzaku.id);
|
||||
}
|
||||
}
|
||||
});
|
||||
$(".sasa.selected").each(function (index, element) {
|
||||
if (!tdb_query("$TFM", 10, '' + $(element).attr("sid") + ' ' + current_tanzaku.id)) {
|
||||
console.log("ERROR: failed to add kazari: " + $(element).attr("sid") + '-' + current_tanzaku.id);
|
||||
}
|
||||
});
|
||||
menu_view_tag_close();
|
||||
});
|
||||
|
||||
$(document).on("click", "#btn-remove", function (e) {
|
||||
e.preventDefault();
|
||||
if (!confirm("This tag will be removed permanently. Are you sure?")) {
|
||||
return;
|
||||
}
|
||||
let resp = tdb_query("$TFM", 33, '' + current_tanzaku.id);
|
||||
if (!resp.status) {
|
||||
alert("Something went wrong!");
|
||||
return;
|
||||
}
|
||||
menu_add_close();
|
||||
location.reload(true);
|
||||
});
|
||||
|
||||
$(document).on("click", "#file-next", function (e) {
|
||||
e.preventDefault();
|
||||
file_next();
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
$(window).on("load", function () {
|
||||
sappyou_load();
|
||||
sappyou.forEach((tanzaku) => {
|
||||
$(".contents-wrapper").append(`<div class="item tanzaku" id="t${tanzaku.id}">${tanzaku.name}</div>`);
|
||||
$(".contents-wrapper").append(`<div class="item tanzaku" tid="${tanzaku.id}">${tanzaku.name}</div>`);
|
||||
$("#menu-file-view .list").append(`<div class="list-item tanzaku" tid="${tanzaku.id}">${tanzaku.name}</div>`);
|
||||
});
|
||||
sasahyou_load();
|
||||
sasahyou.forEach((sasa) => {
|
||||
$(".list").append(`<div class="list-item sasa" id="s${sasa.id}" title="${sasa.path.split('/').slice(-1)}"><img class="thumb" data-src="${"/thumbs/" + sasa.path}"><div class="overlay"></div></div>`);
|
||||
$("#menu-tag-view .list").append(`<div class="list-item sasa" sid="${sasa.id}" title="${sasa.path.split('/').slice(-1)}"><img class="thumb" data-src="${"/thumbs/" + sasa.path}"><div class="overlay"></div></div>`);
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on("input", "#text-filter", function (e) {
|
||||
$(document).on("input", "#text-filter-all", function (e) {
|
||||
let filter = $(this).val().toLowerCase();
|
||||
let unfiltered = $(".item");
|
||||
if (filter === "") {
|
||||
@@ -26,58 +27,6 @@ $(document).on("input", "#text-filter", function (e) {
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on("dblclick", ".item", function (e) {
|
||||
e.preventDefault();
|
||||
let id = parseInt($(this).attr("id").slice(1));
|
||||
sappyou.every(tanzaku => {
|
||||
if (tanzaku.id === id) {
|
||||
current_tanzaku = tanzaku;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
menu_view_tag_open();
|
||||
});
|
||||
|
||||
$(document).on("submit", "#menu-view form", function (e) {
|
||||
e.preventDefault();
|
||||
let resp = tdb_query("$TFM", 40, '' + current_tanzaku.id);
|
||||
if (!resp.status) {
|
||||
alert("Something went wrong!");
|
||||
return;
|
||||
}
|
||||
resp.data.forEach(sasa => {
|
||||
let current = $(`#s${sasa.id}`)
|
||||
if (current.hasClass("selected")) {
|
||||
current.removeClass("selected");
|
||||
} else {
|
||||
if (!tdb_query("$TFM", 9, '' + sasa.id + ' ' + current_tanzaku.id).status) {
|
||||
console.log("ERROR: failed to remove kazari: " + sasa.id + '-' + current_tanzaku.id);
|
||||
}
|
||||
}
|
||||
});
|
||||
$(".sasa.selected").each(function (index, element) {
|
||||
if (!tdb_query("$TFM", 10, '' + $(element).attr("id").slice(1) + ' ' + current_tanzaku.id)) {
|
||||
console.log("ERROR: failed to add kazari: " + $(element).attr("id").slice(1) + '-' + current_tanzaku.id);
|
||||
}
|
||||
});
|
||||
menu_add_close();
|
||||
});
|
||||
|
||||
$(document).on("click", "#btn-remove", function (e) {
|
||||
e.preventDefault();
|
||||
if (!confirm("This tag will be removed permanently. Are you sure?")) {
|
||||
return;
|
||||
}
|
||||
let resp = tdb_query("$TFM", 33, '' + current_tanzaku.id);
|
||||
if (!resp.status) {
|
||||
alert("Something went wrong!");
|
||||
return;
|
||||
}
|
||||
menu_add_close();
|
||||
location.reload(true);
|
||||
});
|
||||
|
||||
$(document).on("submit", "#menu-add form", function (e) {
|
||||
e.preventDefault();
|
||||
let resp = tdb_query("$TFM", 34, $("#new-name").val() + '\n' + $("#new-description").val());
|
||||
|
||||
Reference in New Issue
Block a user