From 351e0be3ca8f2275132e4f4cebb77cb44969f62a Mon Sep 17 00:00:00 2001 From: Masahiko AMANO Date: Sun, 29 Jan 2023 19:18:13 +0300 Subject: [PATCH] feat(web): add TFM tags page --- web/public/js/tfm-tags.js | 59 +++++++++++++++++++++++++++++++++++++++ web/public/tfm/tags.html | 57 +++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 web/public/js/tfm-tags.js create mode 100644 web/public/tfm/tags.html diff --git a/web/public/js/tfm-tags.js b/web/public/js/tfm-tags.js new file mode 100644 index 0000000..463b6ff --- /dev/null +++ b/web/public/js/tfm-tags.js @@ -0,0 +1,59 @@ +$(window).on("load", function () { + sappyou_load(); + sappyou.forEach((tanzaku) => { + $(".contents-wrapper").append(`
${tanzaku.name}
`); + }); + sasahyou_load(); + sasahyou.forEach((sasa) => { + $(".list").append(`
`); + }); +}); + +$(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; + }); + $(".item.selected").removeClass("selected"); + $(".menu-wrapper").css("display", "flex"); + $("#name").val(decodeURI(current_tanzaku.name)); + let resp = tdb_query("$TFM", 40, '' + id); + if (!resp.status) { + alert("Something went wrong!"); + return; + } + resp.data.forEach(sasa => { + $(`#s${sasa.id}`).addClass("selected"); + }); +}); + +$(document).on("click", "#btn-confirm", function (e) { + e.preventDefault(); + let resp = tdb_query("$TFM", 40, '' + current_tanzaku.id); + if (!resp.status) { + alert("Something went wrong!"); + return; + } + $(".menu-wrapper").css("display", "none"); + 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); + } + }); + $(".list-item").removeClass("selected"); +}); diff --git a/web/public/tfm/tags.html b/web/public/tfm/tags.html new file mode 100644 index 0000000..948fc2a --- /dev/null +++ b/web/public/tfm/tags.html @@ -0,0 +1,57 @@ + + + + + + Tags | Tanabata File Manager + + + + + + + + + + + + + + + + + + + + + + + + + +

TFM: Tags

+
+
+
+
+ + + +