File tree 2 files changed +25
-9
lines changed
projects/coreui-angular/src/lib/accordion/accordion-item
2 files changed +25
-9
lines changed Original file line number Diff line number Diff line change 1
1
< ng-container >
2
2
< div class ="accordion-header ">
3
- < ng-container *ngTemplateOutlet ="templates?. accordionHeaderTemplate || defaultAccordionHeaderTemplate; context: itemContext "> </ ng-container >
3
+ < ng-container *ngTemplateOutlet ="templates[' accordionHeaderTemplate'] || defaultAccordionHeaderTemplate; context: itemContext "> </ ng-container >
4
4
</ div >
5
- < div class ="accordion-collapse " cCollapse [visible] ="visible " [attr.aria-expanded] ="open " [id] ="contentId ">
6
- < ng-container *ngTemplateOutlet ="templates?. accordionBodyTemplate || defaultAccordionBodyTemplate; context: itemContext "> </ ng-container >
5
+ < div class ="accordion-collapse " cCollapse [visible] ="visible " [attr.aria-expanded] ="visible " [id] ="contentId ">
6
+ < ng-container *ngTemplateOutlet ="templates[' accordionBodyTemplate'] || defaultAccordionBodyTemplate; context: itemContext "> </ ng-container >
7
7
</ div >
8
8
</ ng-container >
9
9
10
10
< ng-template #defaultAccordionHeaderTemplate >
11
- < button cAccordionButton [collapsed] ="!open " [attr.aria-controls] ="contentId " (click) ="toggleItem() ">
11
+ < button cAccordionButton [collapsed] ="!visible " [attr.aria-controls] ="contentId " (click) ="toggleItem() ">
12
12
< ng-container
13
- *ngTemplateOutlet ="templates?. accordionHeader || defaultAccordionHeaderContentTemplate; context: itemContext ">
13
+ *ngTemplateOutlet ="templates[' accordionHeader'] || defaultAccordionHeaderContentTemplate; context: itemContext ">
14
14
</ ng-container >
15
15
</ button >
16
16
</ ng-template >
22
22
< ng-template #defaultAccordionBodyTemplate >
23
23
< div class ="accordion-body ">
24
24
< ng-container
25
- *ngTemplateOutlet ="templates?. accordionBody || defaultAccordionBodyContentTemplate; context: itemContext ">
25
+ *ngTemplateOutlet ="templates[' accordionBody'] || defaultAccordionBodyContentTemplate; context: itemContext ">
26
26
</ ng-container >
27
27
</ div >
28
28
</ ng-template >
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import {
10
10
11
11
import { AccordionService } from '../accordion.service' ;
12
12
import { TemplateIdDirective } from '../../shared' ;
13
+ import { BooleanInput , coerceBooleanProperty } from '@angular/cdk/coercion' ;
13
14
14
15
let nextId = 0 ;
15
16
@@ -20,15 +21,30 @@ let nextId = 0;
20
21
exportAs : 'cAccordionItem' ,
21
22
} )
22
23
export class AccordionItemComponent implements OnInit , OnDestroy , AfterContentInit {
24
+
25
+ static ngAcceptInputType_visible : BooleanInput ;
26
+
23
27
/**
24
28
* Toggle an accordion item programmatically
25
29
* @type boolean
26
30
* @default false
27
31
*/
28
- @Input ( ) visible : boolean = false ;
29
- @Input ( ) set open ( value : boolean ) {
32
+ @Input ( )
33
+ set visible ( value : boolean ) {
34
+ this . _visible = coerceBooleanProperty ( value ) ;
35
+ }
36
+ get visible ( ) {
37
+ return this . _visible ;
38
+ }
39
+ private _visible : boolean = false ;
40
+
41
+ @Input ( )
42
+ set open ( value : boolean ) {
30
43
console . warn ( 'c-accordion-item "open" prop is deprecated, use "visible" prop instead.' )
31
- this . visible = value ?? false ;
44
+ this . visible = value || this . visible ;
45
+ }
46
+ get open ( ) {
47
+ return this . visible ;
32
48
}
33
49
34
50
@HostBinding ( 'class' )
You can’t perform that action at this time.
0 commit comments