Skip to content

Commit 770d9b2

Browse files
committed
test(angular): add radio group test to reproduce blur issue
1 parent d43c13c commit 770d9b2

3 files changed

Lines changed: 69 additions & 0 deletions

File tree

packages/angular/test/base/src/app/standalone/app-standalone/app.routes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export const routes: Routes = [
2121
{ path: 'button', loadComponent: () => import('../button/button.component').then(c => c.ButtonComponent) },
2222
{ path: 'reorder-group', loadComponent: () => import('../reorder-group/reorder-group.component').then(c => c.ReorderGroupComponent) },
2323
{ path: 'icon', loadComponent: () => import('../icon/icon.component').then(c => c.IconComponent) },
24+
{ path: 'radio-group', loadComponent: () => import('../radio-group/radio-group.component').then(c => c.RadioGroupComponent) },
2425
{ path: 'split-pane', redirectTo: '/standalone/split-pane/inbox', pathMatch: 'full' },
2526
{
2627
path: 'split-pane',

packages/angular/test/base/src/app/standalone/home-page/home-page.component.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@
3232
<ion-label>
3333
Reorder Group Test
3434
</ion-label>
35+
<ion-item routerLink="/standalone/radio-group">
36+
<ion-label>
37+
Radio Group Test
38+
</ion-label>
3539
</ion-item>
3640
</ion-list>
3741

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import { Component } from "@angular/core";
2+
import { IonItem, IonLabel, IonList, IonListHeader, IonRadio, IonRadioGroup } from '@ionic/angular/standalone';
3+
4+
@Component({
5+
selector: 'app-radio-group',
6+
template: `
7+
<ion-list>
8+
<ion-list-header>
9+
<ion-label>Static Radio Group</ion-label>
10+
</ion-list-header>
11+
<ion-radio-group>
12+
<ion-item>
13+
<ion-radio (ionBlur)="onBlur($event)" (ionFocus)="onFocus($event)" value="one">Item 1</ion-radio>
14+
</ion-item>
15+
<ion-item>
16+
<ion-radio (ionBlur)="onBlur($event)" (ionFocus)="onFocus($event)" value="two">Item 2</ion-radio>
17+
</ion-item>
18+
<ion-item>
19+
<ion-radio (ionBlur)="onBlur($event)" (ionFocus)="onFocus($event)" value="three">Item 3</ion-radio>
20+
</ion-item>
21+
</ion-radio-group>
22+
23+
<ion-list-header>
24+
<ion-label>Dynamic Radio Group</ion-label>
25+
</ion-list-header>
26+
<ion-radio-group>
27+
@for (item of items; track item.value) {
28+
<ion-item>
29+
<ion-radio (ionBlur)="onBlur($event)" (ionFocus)="onFocus($event)" [value]="item.value">{{item.text}}</ion-radio>
30+
</ion-item>
31+
}
32+
</ion-radio-group>
33+
</ion-list>`,
34+
standalone: true,
35+
imports: [IonItem, IonLabel, IonList, IonListHeader, IonRadio, IonRadioGroup]
36+
})
37+
export class RadioGroupComponent {
38+
items: { text: string; value: string }[] = [];
39+
40+
ionViewWillEnter() {
41+
this.items = [
42+
{
43+
text: 'Item 1',
44+
value: 'item-1'
45+
},
46+
{
47+
text: 'Item 2',
48+
value: 'item-2'
49+
},
50+
{
51+
text: 'Item 3',
52+
value: 'item-3'
53+
}
54+
];
55+
}
56+
57+
onBlur(event: any) {
58+
console.log('ionBlur', event);
59+
}
60+
61+
onFocus(event: any) {
62+
console.log('ionFocus', event);
63+
}
64+
}

0 commit comments

Comments
 (0)