Skip to content

Commit 0c0d472

Browse files
committed
refactor(sidebar-toggle): signal inputs, host bindings, cleanup
1 parent 05740d3 commit 0c0d472

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed
Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Directive, HostListener, inject, Input } from '@angular/core';
1+
import { Directive, inject, input } from '@angular/core';
22

33
import { SidebarService } from '../sidebar.service';
44

@@ -7,28 +7,29 @@ import { SidebarService } from '../sidebar.service';
77
*/
88
@Directive({
99
selector: '[cSidebarToggle]',
10-
exportAs: 'cSidebarToggle'
10+
exportAs: 'cSidebarToggle',
11+
host: {
12+
'(click)': 'toggleOpen($event)'
13+
}
1114
})
1215
export class SidebarToggleDirective {
1316
readonly #sidebarService = inject(SidebarService);
1417

1518
/**
16-
* Id of sidebar for toggle action. [docs]
17-
*
18-
* @type string
19+
* Id of sidebar for toggle action.
20+
* @return string
1921
*/
20-
@Input('cSidebarToggle') id?: string;
22+
readonly id = input<string>(undefined, { alias: 'cSidebarToggle' });
2123
/**
22-
* Sidebar property name for toggle action. [docs]
24+
* Sidebar property name for toggle action.
2325
*
24-
* @type 'visible' | 'unfoldable'
26+
* @return 'visible' | 'unfoldable'
2527
* @default 'visible'
2628
*/
27-
@Input() toggle: 'visible' | 'unfoldable' = 'visible';
29+
readonly toggle = input<'visible' | 'unfoldable'>('visible');
2830

29-
@HostListener('click', ['$event'])
3031
toggleOpen($event: any): void {
3132
$event.preventDefault();
32-
this.#sidebarService.toggle({ toggle: this.toggle, id: this.id });
33+
this.#sidebarService.toggle({ toggle: this.toggle(), id: this.id() });
3334
}
3435
}

0 commit comments

Comments
 (0)