Skip to content

Commit 8947758

Browse files
authored
refactor(aria/toolbar): implement rtl attribute to toolbar example (#32135)
Updates addition of rtl toolbar example to add dir attribute with rtl to get rtl demo to function correctly.
1 parent 50a9395 commit 8947758

File tree

5 files changed

+78
-0
lines changed

5 files changed

+78
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export {ToolbarBasicHorizontalExample} from './toolbar-basic-horizontal/toolbar-basic-horizontal-example';
22
export {ToolbarBasicVerticalExample} from './toolbar-basic-vertical/toolbar-basic-vertical-example';
33
export {ToolbarConfigurableExample} from './toolbar-configurable/toolbar-configurable-example';
4+
export {ToolbarRtlExample} from './toolbar-rtl/toolbar-rtl-example';
45
export {ToolbarSkipDisabledExample} from './toolbar-skip-disabled/toolbar-skip-disabled-example';
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<div class="example-container">
2+
<div ngToolbar class="example-toolbar" dir="rtl" aria-label="RTL Toolbar Text Formatting Tools">
3+
<button
4+
ngToolbarWidget
5+
class="example-radio-button"
6+
(click)="format('bold')"
7+
(keydown.enter)="format('bold')">
8+
Bold
9+
</button>
10+
<button
11+
ngToolbarWidget
12+
class="example-radio-button"
13+
(click)="format('italic')"
14+
(keydown.enter)="format('italic')">
15+
Italic
16+
</button>
17+
<button
18+
ngToolbarWidget
19+
class="example-radio-button"
20+
(click)="format('underline')"
21+
(keydown.enter)="format('underline')">
22+
Underline
23+
</button>
24+
<ul
25+
ngRadioGroup
26+
class="example-radio-group"
27+
aria-label="Select text alignment"
28+
>
29+
@for (alignment of alignments; track alignment) {
30+
<li ngRadioButton [value]="alignment.value" class="example-radio-button">
31+
<span class="example-radio-indicator"></span>
32+
<span>{{ alignment.label }}</span>
33+
</li>
34+
}
35+
</ul>
36+
<button
37+
ngToolbarWidget
38+
class="example-radio-button"
39+
[disabled]="true">
40+
Disabled Action
41+
</button>
42+
</div>
43+
</div>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import {Component} from '@angular/core';
2+
import {Toolbar, ToolbarWidget} from '@angular/aria/toolbar';
3+
import {RadioGroup, RadioButton} from '@angular/aria/radio-group';
4+
import {LiveAnnouncer} from '@angular/cdk/a11y';
5+
6+
/** @title Basic RTL Toolbar Example */
7+
@Component({
8+
selector: 'toolbar-rtl-example',
9+
templateUrl: 'toolbar-rtl-example.html',
10+
styleUrl: '../toolbar-common.css',
11+
imports: [RadioButton, RadioGroup, Toolbar, ToolbarWidget],
12+
})
13+
export class ToolbarRtlExample {
14+
constructor(private _liveAnnouncer: LiveAnnouncer) {}
15+
alignments = [
16+
{value: 'left', label: 'Left'},
17+
{value: 'center', label: 'Center'},
18+
{value: 'right', label: 'Right'},
19+
];
20+
format(tool: string) {
21+
console.log(`Tool activated: ${tool}`);
22+
this._liveAnnouncer.announce(`${tool} applied`, 'polite');
23+
}
24+
test(action: string) {
25+
console.log(`Action triggered: ${action}`);
26+
this._liveAnnouncer.announce(`${action} button activated`, 'polite');
27+
}
28+
}

src/dev-app/aria-toolbar/toolbar-demo.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ <h2>Toolbar Basic Vertical</h2>
1212
<h2>Toolbar Skip Disabled</h2>
1313
<toolbar-skip-disabled-example></toolbar-skip-disabled-example>
1414
</div>
15+
<div class="example-toolbar-container">
16+
<h2>Toolbar RTL</h2>
17+
<toolbar-rtl-example></toolbar-rtl-example>
18+
</div>
1519
<div class="example-configurable-radio-container example-toolbar-container">
1620
<h2>Configurable CDK Toolbar</h2>
1721
<toolbar-configurable-example></toolbar-configurable-example>

src/dev-app/aria-toolbar/toolbar-demo.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
ToolbarBasicHorizontalExample,
1212
ToolbarBasicVerticalExample,
1313
ToolbarConfigurableExample,
14+
ToolbarRtlExample,
1415
ToolbarSkipDisabledExample,
1516
} from '@angular/components-examples/aria/toolbar';
1617

@@ -20,6 +21,7 @@ import {
2021
ToolbarBasicHorizontalExample,
2122
ToolbarBasicVerticalExample,
2223
ToolbarConfigurableExample,
24+
ToolbarRtlExample,
2325
ToolbarSkipDisabledExample,
2426
],
2527
styleUrl: './toolbar-demo.css',

0 commit comments

Comments
 (0)