feat(web): add database management interface
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
db_name = localStorage["db_name"];
|
||||
if (db_name == null) {
|
||||
location.href = "/tdbms/settings";
|
||||
}
|
||||
|
||||
$(window).on("load", function (e) {
|
||||
$(".db_name").text(db_name);
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
$(window).on("load", function (e) {
|
||||
sappyou_load();
|
||||
sappyou.every(tanzaku => {
|
||||
$("#content").append(
|
||||
`<tr><td>${tanzaku.id}</td><td>${new Date(tanzaku.cts * 1000).toLocaleDateString()} ${new Date(tanzaku.cts * 1000).toLocaleTimeString()}</td><td>${new Date(tanzaku.mts * 1000).toLocaleDateString()} ${new Date(tanzaku.mts * 1000).toLocaleTimeString()}</td><td>${tanzaku.name}</td><td>${tanzaku.desc}</td></tr>`
|
||||
);
|
||||
return true;
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
$(window).on("load", function (e) {
|
||||
sasahyou_load();
|
||||
sasahyou.every(sasa => {
|
||||
$("#content").append(
|
||||
`<tr><td>${sasa.id}</td><td>${new Date(sasa.cts * 1000).toLocaleDateString()} ${new Date(sasa.cts * 1000).toLocaleTimeString()}</td><td>${sasa.path}</td></tr>`
|
||||
);
|
||||
return true;
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,68 @@
|
||||
var db_name = localStorage["db_name"];
|
||||
|
||||
function settings_load() {
|
||||
if (db_name != null) {
|
||||
$("#db_name").val(db_name);
|
||||
} else {
|
||||
$("#db_name").val("");
|
||||
}
|
||||
if (sort_sasa != null) {
|
||||
if (sort_sasa[0] === '-') {
|
||||
$("#sasa-reverse").prop("checked", true);
|
||||
sort_sasa = sort_sasa.slice(1);
|
||||
}
|
||||
$(`#sasa-by-${sort_sasa}`).prop("checked", true);
|
||||
}
|
||||
if (sort_tanzaku != null) {
|
||||
if (sort_tanzaku[0] === '-') {
|
||||
$("#tanzaku-reverse").prop("checked", true);
|
||||
sort_tanzaku = sort_tanzaku.slice(1);
|
||||
}
|
||||
$(`#tanzaku-by-${sort_tanzaku}`).prop("checked", true);
|
||||
}
|
||||
}
|
||||
|
||||
$(window).on("load", function () {
|
||||
settings_load();
|
||||
if (db_name != null) {
|
||||
$(".db_name").text(db_name);
|
||||
}
|
||||
let resp = tdb_query();
|
||||
if (!resp.status) {
|
||||
alert("Failed to fetch databases");
|
||||
throw new Error("Failed to fetch databases");
|
||||
}
|
||||
resp.data.every(tdb => {
|
||||
$("#db_name").append($("<option>", {
|
||||
value: tdb.name,
|
||||
text: tdb.name
|
||||
}));
|
||||
return true;
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on("reset", "#settings", function (e) {
|
||||
e.preventDefault();
|
||||
settings_load();
|
||||
});
|
||||
|
||||
$(document).on("submit", "#settings", function (e) {
|
||||
e.preventDefault();
|
||||
let db_name_input = $("#db_name");
|
||||
let db_name_val = db_name_input.val();
|
||||
if (db_name_val !== db_name) {
|
||||
localStorage["db_name"] = db_name = db_name_val;
|
||||
localStorage["sasahyou_mts"] = sasahyou_mts = 0;
|
||||
localStorage["sappyou_mts"] = sappyou_mts = 0;
|
||||
localStorage["shoppyou_mts"] = shoppyou_mts = 0;
|
||||
}
|
||||
let sort_s = ($("#sasa-reverse")[0].checked ? '-' : '') + $("input[type=radio][name=sort-sasa]:checked").attr("id").slice(8);
|
||||
let sort_t = ($("#tanzaku-reverse")[0].checked ? '-' : '') + $("input[type=radio][name=sort-tanzaku]:checked").attr("id").slice(11);
|
||||
if (sort_s !== sort_sasa && '!' + sort_s !== sort_sasa) {
|
||||
localStorage["sort_sasa"] = sort_sasa = '!' + sort_s;
|
||||
}
|
||||
if (sort_t !== sort_tanzaku && '!' + sort_t !== sort_tanzaku) {
|
||||
localStorage["sort_tanzaku"] = sort_tanzaku = '!' + sort_t;
|
||||
}
|
||||
alert("Successfully updated settings!");
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
$(window).on("load", function (e) {
|
||||
shoppyou_load();
|
||||
shoppyou.every(kazari => {
|
||||
$("#content").append(
|
||||
`<tr><td>${new Date(kazari.cts * 1000).toLocaleDateString()} ${new Date(kazari.cts * 1000).toLocaleTimeString()}</td><td>${kazari.sasa_id}</td><td>${kazari.tanzaku_id}</td></tr>`
|
||||
);
|
||||
return true;
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
$(window).on("load", function (e) {
|
||||
let resp = tdb_query(db_name);
|
||||
if (!resp.status) {
|
||||
alert("Failed to fetch database");
|
||||
throw new Error("Failed to fetch database");
|
||||
}
|
||||
$("#stats-sasahyou").append(
|
||||
`<tr><td>${new Date(resp.data[0].sasahyou.cts * 1000).toLocaleDateString()} ${new Date(resp.data[0].sasahyou.cts * 1000).toLocaleTimeString()}</td><td>${new Date(resp.data[0].sasahyou.mts * 1000).toLocaleDateString()} ${new Date(resp.data[0].sasahyou.mts * 1000).toLocaleTimeString()}</td><td>${resp.data[0].sasahyou.size}</td><td>${resp.data[0].sasahyou.holes}</td></tr>`
|
||||
);
|
||||
$("#stats-sappyou").append(
|
||||
`<tr><td>${new Date(resp.data[0].sappyou.cts * 1000).toLocaleDateString()} ${new Date(resp.data[0].sappyou.cts * 1000).toLocaleTimeString()}</td><td>${new Date(resp.data[0].sappyou.mts * 1000).toLocaleDateString()} ${new Date(resp.data[0].sappyou.mts * 1000).toLocaleTimeString()}</td><td>${resp.data[0].sappyou.size}</td><td>${resp.data[0].sappyou.holes}</td></tr>`
|
||||
);
|
||||
$("#stats-shoppyou").append(
|
||||
`<tr><td>${new Date(resp.data[0].shoppyou.cts * 1000).toLocaleDateString()} ${new Date(resp.data[0].shoppyou.cts * 1000).toLocaleTimeString()}</td><td>${new Date(resp.data[0].shoppyou.mts * 1000).toLocaleDateString()} ${new Date(resp.data[0].shoppyou.mts * 1000).toLocaleTimeString()}</td><td>${resp.data[0].shoppyou.size}</td><td>${resp.data[0].shoppyou.holes}</td></tr>`
|
||||
);
|
||||
});
|
||||
+14
-14
@@ -2,8 +2,8 @@ var db_name = null;
|
||||
var sasahyou = localStorage["sasahyou"],
|
||||
sappyou = localStorage["sappyou"],
|
||||
shoppyou = localStorage["shoppyou"];
|
||||
var sort_files = localStorage["sort_files"],
|
||||
sort_tags = localStorage["sort_tags"];
|
||||
var sort_sasa = localStorage["sort_sasa"],
|
||||
sort_tanzaku = localStorage["sort_tanzaku"];
|
||||
if (sasahyou != null) {
|
||||
sasahyou = JSON.parse(sasahyou);
|
||||
}
|
||||
@@ -25,11 +25,11 @@ if (sappyou_mts != null) {
|
||||
if (shoppyou_mts != null) {
|
||||
shoppyou_mts = parseInt(shoppyou_mts);
|
||||
}
|
||||
if (sort_files == null) {
|
||||
localStorage["sort_files"] = sort_files = "id";
|
||||
if (sort_sasa == null) {
|
||||
localStorage["sort_sasa"] = sort_sasa = "id";
|
||||
}
|
||||
if (sort_tags == null) {
|
||||
localStorage["sort_tags"] = sort_tags = "id";
|
||||
if (sort_tanzaku == null) {
|
||||
localStorage["sort_tanzaku"] = sort_tanzaku = "id";
|
||||
}
|
||||
|
||||
function tdb_query(trdb, trc, trb) {
|
||||
@@ -81,8 +81,8 @@ function sasahyou_load() {
|
||||
sasahyou = resp.data;
|
||||
localStorage["sasahyou_mts"] = sasahyou_mts = db_info.data[0].sasahyou.mts;
|
||||
localStorage["sasahyou"] = JSON.stringify(sasahyou);
|
||||
if (sort_files[0] !== '!') {
|
||||
sort_files = '!' + sort_files;
|
||||
if (sort_sasa[0] !== '!') {
|
||||
sort_sasa = '!' + sort_sasa;
|
||||
}
|
||||
}
|
||||
sasahyou_sort();
|
||||
@@ -103,8 +103,8 @@ function sappyou_load() {
|
||||
sappyou = resp.data;
|
||||
localStorage["sappyou_mts"] = sappyou_mts = db_info.data[0].sappyou.mts;
|
||||
localStorage["sappyou"] = JSON.stringify(sappyou);
|
||||
if (sort_tags[0] !== '!') {
|
||||
sort_tags = '!' + sort_tags;
|
||||
if (sort_tanzaku[0] !== '!') {
|
||||
sort_tanzaku = '!' + sort_tanzaku;
|
||||
}
|
||||
}
|
||||
sappyou_sort();
|
||||
@@ -129,10 +129,10 @@ function shoppyou_load() {
|
||||
}
|
||||
|
||||
function sasahyou_sort() {
|
||||
if (sort_files[0] !== '!') {
|
||||
if (sort_sasa[0] !== '!') {
|
||||
return;
|
||||
}
|
||||
let sort = localStorage["sort_files"] = sort_files = sort_files.slice(1);
|
||||
let sort = localStorage["sort_sasa"] = sort_sasa = sort_sasa.slice(1);
|
||||
let order = 1;
|
||||
if (sort[0] === '-') {
|
||||
order = -1;
|
||||
@@ -152,10 +152,10 @@ function sasahyou_sort() {
|
||||
}
|
||||
|
||||
function sappyou_sort() {
|
||||
if (sort_tags[0] !== '!') {
|
||||
if (sort_tanzaku[0] !== '!') {
|
||||
return;
|
||||
}
|
||||
let sort = localStorage["sort_tags"] = sort_tags = sort_tags.slice(1);
|
||||
let sort = localStorage["sort_tanzaku"] = sort_tanzaku = sort_tanzaku.slice(1);
|
||||
let order = 1;
|
||||
if (sort[0] === '-') {
|
||||
order = -1;
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
var db_name = localStorage["tfm_db_name"];
|
||||
sort_sasa = localStorage["sort_files"];
|
||||
sort_tanzaku = localStorage["sort_tags"];
|
||||
if (sort_sasa == null) {
|
||||
localStorage["sort_files"] = sort_sasa = "id";
|
||||
}
|
||||
if (sort_tanzaku == null) {
|
||||
localStorage["sort_tags"] = sort_tanzaku = "id";
|
||||
}
|
||||
|
||||
function settings_load() {
|
||||
if (db_name != null) {
|
||||
@@ -6,19 +14,19 @@ function settings_load() {
|
||||
} else {
|
||||
$("#db_name").val("");
|
||||
}
|
||||
if (sort_files != null) {
|
||||
if (sort_files[0] === '-') {
|
||||
if (sort_sasa != null) {
|
||||
if (sort_sasa[0] === '-') {
|
||||
$("#files-reverse").prop("checked", true);
|
||||
sort_files = sort_files.slice(1);
|
||||
sort_sasa = sort_sasa.slice(1);
|
||||
}
|
||||
$(`#files-by-${sort_files}`).prop("checked", true);
|
||||
$(`#files-by-${sort_sasa}`).prop("checked", true);
|
||||
}
|
||||
if (sort_tags != null) {
|
||||
if (sort_tags[0] === '-') {
|
||||
if (sort_tanzaku != null) {
|
||||
if (sort_tanzaku[0] === '-') {
|
||||
$("#tags-reverse").prop("checked", true);
|
||||
sort_tags = sort_tags.slice(1);
|
||||
sort_tanzaku = sort_tanzaku.slice(1);
|
||||
}
|
||||
$(`#tags-by-${sort_tags}`).prop("checked", true);
|
||||
$(`#tags-by-${sort_tanzaku}`).prop("checked", true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,11 +69,11 @@ $(document).on("submit", "#settings", function (e) {
|
||||
}
|
||||
let sort_f = ($("#files-reverse")[0].checked ? '-' : '') + $("input[type=radio][name=sort-files]:checked").attr("id").slice(9);
|
||||
let sort_t = ($("#tags-reverse")[0].checked ? '-' : '') + $("input[type=radio][name=sort-tags]:checked").attr("id").slice(8);
|
||||
if (sort_f !== sort_files && '!' + sort_f !== sort_files) {
|
||||
localStorage["sort_files"] = sort_files = '!' + sort_f;
|
||||
if (sort_f !== sort_sasa && '!' + sort_f !== sort_sasa) {
|
||||
localStorage["sort_files"] = sort_sasa = '!' + sort_f;
|
||||
}
|
||||
if (sort_t !== sort_tags && '!' + sort_t !== sort_tags) {
|
||||
localStorage["sort_tags"] = sort_tags = '!' + sort_t;
|
||||
if (sort_t !== sort_tanzaku && '!' + sort_t !== sort_tanzaku) {
|
||||
localStorage["sort_tags"] = sort_tanzaku = '!' + sort_t;
|
||||
}
|
||||
alert("Successfully updated settings!");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user