feat(web): add sorting sasa and tanzaku
This commit is contained in:
parent
e72d371ff1
commit
e8e32c70f0
@ -26,10 +26,10 @@ if (shoppyou_mts != null) {
|
||||
shoppyou_mts = parseInt(shoppyou_mts);
|
||||
}
|
||||
if (sort_files == null) {
|
||||
sort_files = "id";
|
||||
localStorage["sort_files"] = sort_files = "id";
|
||||
}
|
||||
if (sort_tags == null) {
|
||||
sort_tags = "id";
|
||||
localStorage["sort_tags"] = sort_tags = "id";
|
||||
}
|
||||
|
||||
function tdb_query(trdb, trc, trb) {
|
||||
@ -70,10 +70,13 @@ function sasahyou_load() {
|
||||
throw new Error("Failed to get sasahyou");
|
||||
}
|
||||
sasahyou = resp.data;
|
||||
sasahyou_mts = db_info.data[0].sasahyou.mts;
|
||||
localStorage["sasahyou_mts"] = sasahyou_mts = db_info.data[0].sasahyou.mts;
|
||||
localStorage["sasahyou"] = JSON.stringify(sasahyou);
|
||||
localStorage["sasahyou_mts"] = sasahyou_mts;
|
||||
if (sort_files[0] !== '!') {
|
||||
sort_files = '!' + sort_files;
|
||||
}
|
||||
}
|
||||
sasahyou_sort();
|
||||
}
|
||||
|
||||
function sappyou_load() {
|
||||
@ -89,10 +92,13 @@ function sappyou_load() {
|
||||
throw new Error("Failed to get sappyou");
|
||||
}
|
||||
sappyou = resp.data;
|
||||
sappyou_mts = db_info.data[0].sappyou.mts;
|
||||
localStorage["sappyou_mts"] = sappyou_mts = db_info.data[0].sappyou.mts;
|
||||
localStorage["sappyou"] = JSON.stringify(sappyou);
|
||||
localStorage["sappyou_mts"] = sappyou_mts;
|
||||
if (sort_tags[0] !== '!') {
|
||||
sort_tags = '!' + sort_tags;
|
||||
}
|
||||
}
|
||||
sappyou_sort();
|
||||
}
|
||||
|
||||
function shoppyou_load() {
|
||||
@ -108,8 +114,80 @@ function shoppyou_load() {
|
||||
throw new Error("Failed to get shoppyou");
|
||||
}
|
||||
shoppyou = resp.data;
|
||||
shoppyou_mts = db_info.data[0].shoppyou.mts;
|
||||
localStorage["shoppyou_mts"] = shoppyou_mts = db_info.data[0].shoppyou.mts;
|
||||
localStorage["shoppyou"] = JSON.stringify(shoppyou);
|
||||
localStorage["shoppyou_mts"] = shoppyou_mts;
|
||||
}
|
||||
}
|
||||
|
||||
function sasahyou_sort() {
|
||||
if (sort_files[0] !== '!') {
|
||||
return;
|
||||
}
|
||||
let sort = localStorage["sort_files"] = sort_files = sort_files.slice(1);
|
||||
let order = 1;
|
||||
if (sort[0] === '-') {
|
||||
order = -1;
|
||||
sort = sort.slice(1);
|
||||
}
|
||||
sasahyou.sort((lhs, rhs) => {
|
||||
let l = lhs[sort], r = rhs[sort];
|
||||
if (l > r) {
|
||||
return order;
|
||||
}
|
||||
if (l < r) {
|
||||
return -order;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
function sappyou_sort() {
|
||||
if (sort_tags[0] !== '!') {
|
||||
return;
|
||||
}
|
||||
let sort = localStorage["sort_tags"] = sort_tags = sort_tags.slice(1);
|
||||
let order = 1;
|
||||
if (sort[0] === '-') {
|
||||
order = -1;
|
||||
sort = sort.slice(1);
|
||||
}
|
||||
if (sort === "nkazari") {
|
||||
shoppyou_load();
|
||||
shoppyou.every(kazari => {
|
||||
sappyou.every((tanzaku, index) => {
|
||||
if (tanzaku.id === kazari.tanzaku_id) {
|
||||
if (tanzaku.nkazari == null) {
|
||||
sappyou[index].nkazari = 1;
|
||||
} else {
|
||||
sappyou[index].nkazari++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
return true;
|
||||
});
|
||||
sappyou.every((tanzaku, index) => {
|
||||
if (tanzaku.nkazari == null) {
|
||||
sappyou[index].nkazari = 0;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
sappyou.sort((lhs, rhs) => {
|
||||
if (lhs.id === 0) {
|
||||
return -1;
|
||||
}
|
||||
if (rhs.id === 0) {
|
||||
return 1;
|
||||
}
|
||||
let l = lhs[sort], r = rhs[sort];
|
||||
if (l > r) {
|
||||
return order;
|
||||
}
|
||||
if (l < r) {
|
||||
return -order;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
@ -55,5 +55,13 @@ $(document).on("submit", "#settings", function (e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
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_t !== sort_tags && '!' + sort_t !== sort_tags) {
|
||||
localStorage["sort_tags"] = sort_tags = '!' + sort_t;
|
||||
}
|
||||
alert("Successfully updated settings!");
|
||||
});
|
||||
|
||||
@ -74,8 +74,8 @@
|
||||
<label for="tags-by-name">By name</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input type="radio" name="sort-tags" id="tags-by-nfiles">
|
||||
<label for="tags-by-nfiles">By kazari count</label>
|
||||
<input type="radio" name="sort-tags" id="tags-by-nkazari">
|
||||
<label for="tags-by-nkazari">By kazari count</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user