81901: Fix navigation/onclick function ~ enter key

This commit is contained in:
Yura Bondarenko
2021-08-20 09:46:14 +02:00
parent 9d66bc5167
commit 3c4f3e9104
8 changed files with 18 additions and 6 deletions

View File

@@ -6,6 +6,7 @@
[title]="('menu.section.icon.' + section.id) | translate"
[routerLink]="itemModel.link"
(keyup.space)="navigate($event)"
(keyup.enter)="navigate($event)"
href="javascript:void(0);"
>
<div class="shortcut-icon">

View File

@@ -43,7 +43,7 @@ export class AdminSidebarSectionComponent extends MenuSectionComponent implement
}
navigate(event: any): void {
event.stopPropagation();
event.preventDefault();
if (this.hasLink) {
this.router.navigate(this.itemModel.link);
}

View File

@@ -37,7 +37,7 @@
<a class="nav-item nav-link sidebar-section d-flex flex-row flex-nowrap"
href="javascript:void(0);"
(click)="toggle($event)"
(keyup.space)="$event.stopPropagation(); toggle($event)"
(keyup.space)="toggle($event)"
>
<div class="shortcut-icon">
<i *ngIf="(menuCollapsed | async)" class="fas fa-fw fa-angle-double-right"

View File

@@ -8,7 +8,8 @@
[attr.aria-expanded]="expanded | async"
[title]="('menu.section.icon.' + section.id) | translate"
(click)="toggleSection($event)"
(keyup.space)="$event.stopPropagation(); toggleSection($event)"
(keyup.space)="toggleSection($event)"
(keyup.enter)="toggleSection($event)"
>
<div class="shortcut-icon h-100">
<i class="fas fa-{{section.icon}} fa-fw"></i>

View File

@@ -3,6 +3,8 @@
[attr.aria-disabled]="!hasLink"
[title]="item.text"
[routerLink]="getRouterLink()"
(click)="$event.stopPropagation()"
(keyup.space)="navigate($event)"
(keyup.enter)="navigate($event)"
href="javascript:void(0);"
>{{item.text | translate}}</a>

View File

@@ -36,10 +36,11 @@ export class LinkMenuItemComponent implements OnInit {
}
navigate(event: any) {
event.stopPropagation();
event.preventDefault();
if (this.getRouterLink()) {
this.router.navigate([this.getRouterLink()]);
}
event.stopPropagation();
}
}

View File

@@ -2,6 +2,7 @@
class="nav-item nav-link"
role="button"
[title]="item.text"
(click)="item.function()"
(keyup.space)="$event.stopPropagation(); item.function()"
(click)="activate($event)"
(keyup.space)="activate($event)"
(keyup.enter)="activate($event)"
>{{item.text | translate}}</a>

View File

@@ -17,4 +17,10 @@ export class OnClickMenuItemComponent {
constructor(@Inject('itemModelProvider') item: OnClickMenuItemModel) {
this.item = item;
}
public activate(event: any) {
event.preventDefault();
this.item.function();
event.stopPropagation();
}
}