[fix] user sorting performance (#3561)

This commit is contained in:
Vlad Stan
2025-11-25 09:16:35 +02:00
committed by GitHub
parent 148ba9d275
commit d55e2a0e1f
10 changed files with 164 additions and 39 deletions
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+4 -1
View File
@@ -716,11 +716,14 @@ window.localisation.en = {
add_label: 'Add Label',
label: 'Label',
labels: 'Labels',
label_filter: 'Label Filter',
no_labels_defined: 'No labels defined yet',
manage_labels: 'Manage Labels',
update_label: 'Update Label',
delete_label: 'Delete Label',
add_remove_labels: 'Add or Remove Labels',
payment_labels_updated: 'Payment labels updated',
color: 'Color'
color: 'Color',
sort: 'Sort',
sort_by: 'Sort by'
}
+24 -6
View File
@@ -85,10 +85,10 @@ window.PageUsers = {
sortable: false
},
{
name: 'user',
name: 'id',
align: 'left',
label: 'User Id',
field: 'user',
field: 'id',
sortable: false
},
@@ -119,7 +119,7 @@ window.PageUsers = {
align: 'left',
label: 'Balance',
field: 'balance_msat',
sortable: true
sortable: false
},
{
@@ -127,7 +127,7 @@ window.PageUsers = {
align: 'left',
label: 'Payments',
field: 'transaction_count',
sortable: true
sortable: false
},
{
@@ -135,16 +135,24 @@ window.PageUsers = {
align: 'left',
label: 'Last Payment',
field: 'last_payment',
sortable: true
sortable: false
}
],
pagination: {
sortBy: 'balance_msat',
sortBy: 'created_at',
rowsPerPage: 10,
page: 1,
descending: true,
rowsNumber: 10
},
sortFields: [
{name: 'id', label: 'User ID'},
{name: 'username', label: 'Username'},
{name: 'email', label: 'Email'},
{name: 'pubkey', label: 'Public Key'},
{name: 'created_at', label: 'Creation Date'},
{name: 'updated_at', label: 'Last Updated'}
],
search: null,
hideEmpty: true,
loading: false
@@ -198,6 +206,16 @@ window.PageUsers = {
})
.catch(LNbits.utils.notifyApiError)
},
sortByColumn(columnName) {
if (this.usersTable.pagination.sortBy === columnName) {
this.usersTable.pagination.descending =
!this.usersTable.pagination.descending
} else {
this.usersTable.pagination.sortBy = columnName
this.usersTable.pagination.descending = false
}
this.fetchUsers()
},
createUser() {
LNbits.api
.request('POST', '/users/api/v1/user', null, this.activeUser.data)