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);
|
shoppyou_mts = parseInt(shoppyou_mts);
|
||||||
}
|
}
|
||||||
if (sort_files == null) {
|
if (sort_files == null) {
|
||||||
sort_files = "id";
|
localStorage["sort_files"] = sort_files = "id";
|
||||||
}
|
}
|
||||||
if (sort_tags == null) {
|
if (sort_tags == null) {
|
||||||
sort_tags = "id";
|
localStorage["sort_tags"] = sort_tags = "id";
|
||||||
}
|
}
|
||||||
|
|
||||||
function tdb_query(trdb, trc, trb) {
|
function tdb_query(trdb, trc, trb) {
|
||||||
@ -70,10 +70,13 @@ function sasahyou_load() {
|
|||||||
throw new Error("Failed to get sasahyou");
|
throw new Error("Failed to get sasahyou");
|
||||||
}
|
}
|
||||||
sasahyou = resp.data;
|
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"] = JSON.stringify(sasahyou);
|
||||||
localStorage["sasahyou_mts"] = sasahyou_mts;
|
if (sort_files[0] !== '!') {
|
||||||
|
sort_files = '!' + sort_files;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
sasahyou_sort();
|
||||||
}
|
}
|
||||||
|
|
||||||
function sappyou_load() {
|
function sappyou_load() {
|
||||||
@ -89,10 +92,13 @@ function sappyou_load() {
|
|||||||
throw new Error("Failed to get sappyou");
|
throw new Error("Failed to get sappyou");
|
||||||
}
|
}
|
||||||
sappyou = resp.data;
|
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"] = JSON.stringify(sappyou);
|
||||||
localStorage["sappyou_mts"] = sappyou_mts;
|
if (sort_tags[0] !== '!') {
|
||||||
|
sort_tags = '!' + sort_tags;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
sappyou_sort();
|
||||||
}
|
}
|
||||||
|
|
||||||
function shoppyou_load() {
|
function shoppyou_load() {
|
||||||
@ -108,8 +114,80 @@ function shoppyou_load() {
|
|||||||
throw new Error("Failed to get shoppyou");
|
throw new Error("Failed to get shoppyou");
|
||||||
}
|
}
|
||||||
shoppyou = resp.data;
|
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"] = 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;
|
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!");
|
alert("Successfully updated settings!");
|
||||||
});
|
});
|
||||||
|
|||||||
@ -74,8 +74,8 @@
|
|||||||
<label for="tags-by-name">By name</label>
|
<label for="tags-by-name">By name</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input type="radio" name="sort-tags" id="tags-by-nfiles">
|
<input type="radio" name="sort-tags" id="tags-by-nkazari">
|
||||||
<label for="tags-by-nfiles">By kazari count</label>
|
<label for="tags-by-nkazari">By kazari count</label>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user