mirror of https://github.com/go-gitea/gitea.git
fixed incorrect page navigation with up and down arrow on last item of dashboard repos (#34570)
Previously, pressing the down arrow key on the last item of a list would incorrectly load the latest page when not release key. This commit corrects the logic to ensure that the next page is loaded as intended.pull/34575/head^2
parent
4e471487fb
commit
fe57ee3074
|
@ -219,7 +219,9 @@ export default defineComponent({
|
||||||
this.searchRepos();
|
this.searchRepos();
|
||||||
},
|
},
|
||||||
|
|
||||||
changePage(page: number) {
|
async changePage(page: number) {
|
||||||
|
if (this.isLoading) return;
|
||||||
|
|
||||||
this.page = page;
|
this.page = page;
|
||||||
if (this.page > this.finalPage) {
|
if (this.page > this.finalPage) {
|
||||||
this.page = this.finalPage;
|
this.page = this.finalPage;
|
||||||
|
@ -229,7 +231,7 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
this.repos = [];
|
this.repos = [];
|
||||||
this.counts[`${this.reposFilter}:${this.archivedFilter}:${this.privateFilter}`] = 0;
|
this.counts[`${this.reposFilter}:${this.archivedFilter}:${this.privateFilter}`] = 0;
|
||||||
this.searchRepos();
|
await this.searchRepos();
|
||||||
},
|
},
|
||||||
|
|
||||||
async searchRepos() {
|
async searchRepos() {
|
||||||
|
@ -299,7 +301,7 @@ export default defineComponent({
|
||||||
return commitStatus[status].color;
|
return commitStatus[status].color;
|
||||||
},
|
},
|
||||||
|
|
||||||
reposFilterKeyControl(e: KeyboardEvent) {
|
async reposFilterKeyControl(e: KeyboardEvent) {
|
||||||
switch (e.key) {
|
switch (e.key) {
|
||||||
case 'Enter':
|
case 'Enter':
|
||||||
document.querySelector<HTMLAnchorElement>('.repo-owner-name-list li.active a')?.click();
|
document.querySelector<HTMLAnchorElement>('.repo-owner-name-list li.active a')?.click();
|
||||||
|
@ -308,7 +310,7 @@ export default defineComponent({
|
||||||
if (this.activeIndex > 0) {
|
if (this.activeIndex > 0) {
|
||||||
this.activeIndex--;
|
this.activeIndex--;
|
||||||
} else if (this.page > 1) {
|
} else if (this.page > 1) {
|
||||||
this.changePage(this.page - 1);
|
await this.changePage(this.page - 1);
|
||||||
this.activeIndex = this.searchLimit - 1;
|
this.activeIndex = this.searchLimit - 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -317,17 +319,17 @@ export default defineComponent({
|
||||||
this.activeIndex++;
|
this.activeIndex++;
|
||||||
} else if (this.page < this.finalPage) {
|
} else if (this.page < this.finalPage) {
|
||||||
this.activeIndex = 0;
|
this.activeIndex = 0;
|
||||||
this.changePage(this.page + 1);
|
await this.changePage(this.page + 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'ArrowRight':
|
case 'ArrowRight':
|
||||||
if (this.page < this.finalPage) {
|
if (this.page < this.finalPage) {
|
||||||
this.changePage(this.page + 1);
|
await this.changePage(this.page + 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'ArrowLeft':
|
case 'ArrowLeft':
|
||||||
if (this.page > 1) {
|
if (this.page > 1) {
|
||||||
this.changePage(this.page - 1);
|
await this.changePage(this.page - 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue