From a3c51202d1cfd2d4a3b6239e86cfd2a7c8b90e29 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sat, 10 Dec 2022 10:47:15 +0200 Subject: [PATCH] improvement to sorting table + get rid of scope="col" --- files/assets/js/sort_table.js | 10 ++++++-- files/routes/hats.py | 19 ++++++-------- files/templates/admin/badge_admin.html | 8 +++--- files/templates/admins.html | 4 +-- files/templates/badges.html | 6 ++--- files/templates/hats.html | 25 ++++++------------- files/templates/marseys.html | 12 ++++----- files/templates/poll_votes.html | 4 +-- files/templates/settings/security.html | 4 +-- files/templates/shop.html | 12 ++++----- .../special/worldcup22_leaderboard.html | 12 ++++----- files/templates/sub/subs.html | 8 +++--- files/templates/votes.html | 8 +++--- 13 files changed, 62 insertions(+), 70 deletions(-) diff --git a/files/assets/js/sort_table.js b/files/assets/js/sort_table.js index 98c01ceed8..53d30ff29d 100644 --- a/files/assets/js/sort_table.js +++ b/files/assets/js/sort_table.js @@ -1,6 +1,7 @@ let sortAscending = {}; -function sort_table(n) { +function sort_table(t) { + const n = Array.prototype.indexOf.call(t.parentElement.children, t); const table = this.event.target.parentElement.parentElement.parentElement const rows = table.rows; let items = []; @@ -16,7 +17,12 @@ function sort_table(n) { } else if ('time' in x.dataset) { attr = parseInt(x.dataset.time); } else { - attr = parseInt(x.innerHTML.replace(/,/g, '')); + attr = x.innerHTML + try { + attr = parseInt(attr.replace(/,/g, '')); + } + catch(e) { + } } items.push({ ele, attr }); } diff --git a/files/routes/hats.py b/files/routes/hats.py index fe7a4b7f86..e6e514ca59 100644 --- a/files/routes/hats.py +++ b/files/routes/hats.py @@ -12,20 +12,15 @@ from files.__main__ import app, limiter def hats(v:User): owned_hat_ids = [x.hat_id for x in v.owned_hats] - if request.values.get("sort") == 'author_asc': - hats = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None).order_by(User.username).all() - elif request.values.get("sort") == 'author_desc': - hats = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None).order_by(User.username.desc()).all() + if v.equipped_hat_ids: + equipped = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None, HatDef.id.in_(owned_hat_ids), HatDef.id.in_(v.equipped_hat_ids)).order_by(HatDef.price, HatDef.name).all() + not_equipped = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None, HatDef.id.in_(owned_hat_ids), HatDef.id.notin_(v.equipped_hat_ids)).order_by(HatDef.price, HatDef.name).all() + owned = equipped + not_equipped else: - if v.equipped_hat_ids: - equipped = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None, HatDef.id.in_(owned_hat_ids), HatDef.id.in_(v.equipped_hat_ids)).order_by(HatDef.price, HatDef.name).all() - not_equipped = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None, HatDef.id.in_(owned_hat_ids), HatDef.id.notin_(v.equipped_hat_ids)).order_by(HatDef.price, HatDef.name).all() - owned = equipped + not_equipped - else: - owned = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None, HatDef.id.in_(owned_hat_ids)).order_by(HatDef.price, HatDef.name).all() + owned = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None, HatDef.id.in_(owned_hat_ids)).order_by(HatDef.price, HatDef.name).all() - not_owned = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None, HatDef.id.notin_(owned_hat_ids)).order_by(HatDef.price, HatDef.name).all() - hats = owned + not_owned + not_owned = g.db.query(HatDef, User).join(HatDef.author).filter(HatDef.submitter_id == None, HatDef.id.notin_(owned_hat_ids)).order_by(HatDef.price, HatDef.name).all() + hats = owned + not_owned sales = g.db.query(func.sum(User.coins_spent_on_hats)).scalar() num_of_hats = g.db.query(HatDef).filter(HatDef.submitter_id == None).count() diff --git a/files/templates/admin/badge_admin.html b/files/templates/admin/badge_admin.html index de93d4c5ac..cf42da8de4 100644 --- a/files/templates/admin/badge_admin.html +++ b/files/templates/admin/badge_admin.html @@ -37,10 +37,10 @@
- - - - + + + + diff --git a/files/templates/admins.html b/files/templates/admins.html index 012383192c..71c868f9ae 100644 --- a/files/templates/admins.html +++ b/files/templates/admins.html @@ -12,8 +12,8 @@ - - + + diff --git a/files/templates/badges.html b/files/templates/badges.html index ef97aef0fe..0388f1968a 100644 --- a/files/templates/badges.html +++ b/files/templates/badges.html @@ -7,12 +7,12 @@
SelectImageNameDefault DescriptionSelectImageNameDefault Description
# NameTruescoreMod actionsTruescoreMod actions
- + - - + + diff --git a/files/templates/hats.html b/files/templates/hats.html index b0e561905a..bbbc9660ae 100644 --- a/files/templates/hats.html +++ b/files/templates/hats.html @@ -77,25 +77,16 @@
## Name Image Description#Rarity#Rarity
- - - + + + {% if SITE == 'rdrama.net' %} - {% if request.values.get("sort") == 'author_asc' %} - - {% else %} - - {% endif %} - - - - - {% else %} - - - - + {% endif %} + + + + diff --git a/files/templates/marseys.html b/files/templates/marseys.html index 1a5f1bee3f..cd17ba0092 100644 --- a/files/templates/marseys.html +++ b/files/templates/marseys.html @@ -5,14 +5,14 @@
HatNameDescriptionHatNameDescriptionAuthorAuthorOwnersPriceActionsAdded onOwnersPriceActionsAdded onAuthorOwnersPriceActionsAdded on
- - + + - + {% if FEATURES['ASSET_SUBMISSIONS'] %} - + {% endif %} - + {% if FEATURES['ASSET_SUBMISSIONS'] %} {% endif %} @@ -22,7 +22,7 @@ {% for marsey in marseys %} - + {% if FEATURES['ASSET_SUBMISSIONS'] %} diff --git a/files/templates/poll_votes.html b/files/templates/poll_votes.html index 1e621c6bff..53d9095126 100644 --- a/files/templates/poll_votes.html +++ b/files/templates/poll_votes.html @@ -9,8 +9,8 @@ - - + + diff --git a/files/templates/settings/security.html b/files/templates/settings/security.html index cfd92e876f..c42addd57d 100644 --- a/files/templates/settings/security.html +++ b/files/templates/settings/security.html @@ -165,8 +165,8 @@
#Name#Name MarseyUsageUsageAuthorAuthorAdded onAdded onOriginal File
{{loop.index}}{{marsey.name}}{{marsey.name}} :#{{marsey.name}}: {{marsey.count}}
# UserUser TruescoreVote TimeUser TruescoreVote Time
- - + + diff --git a/files/templates/shop.html b/files/templates/shop.html index 4b0daf8b60..6423bc2b6b 100644 --- a/files/templates/shop.html +++ b/files/templates/shop.html @@ -70,12 +70,12 @@
UserUnblockUserUnblock
- - - - - - + + + + + + diff --git a/files/templates/special/worldcup22_leaderboard.html b/files/templates/special/worldcup22_leaderboard.html index 81b5a5059d..3507c0b5d5 100644 --- a/files/templates/special/worldcup22_leaderboard.html +++ b/files/templates/special/worldcup22_leaderboard.html @@ -6,12 +6,12 @@
IconTitlePriceOwnedBuyDescriptionIconTitlePriceOwnedBuyDescription
- - - - - - + + + + + + diff --git a/files/templates/sub/subs.html b/files/templates/sub/subs.html index a0717ea9cf..26663e89e6 100644 --- a/files/templates/sub/subs.html +++ b/files/templates/sub/subs.html @@ -8,10 +8,10 @@ - - - - + + + + diff --git a/files/templates/votes.html b/files/templates/votes.html index 229e790795..7a449a6ad3 100644 --- a/files/templates/votes.html +++ b/files/templates/votes.html @@ -17,8 +17,8 @@ - - + + @@ -44,8 +44,8 @@ - - + +
#NameWinsBetsWin rateWinnings#NameWinsBetsWin rateWinnings
# NamePostsFollowersBlockersCreated onPostsFollowersBlockersCreated on
# UserUser TruescoreVote TimeUser TruescoreVote Time
# UserUser TruescoreVote TimeUser TruescoreVote Time