File
Index
Properties
|
|
Methods
|
|
Inputs
|
|
Outputs
|
|
HostBindings
|
|
Accessors
|
|
Constructor
constructor(i18n: I18n)
|
|
Parameters :
Name |
Type |
Optional |
i18n |
I18n
|
No
|
|
expanded
|
Type : boolean
|
Default value : false
|
|
showExpandAllToggle
|
Type : boolean
|
Default value : false
|
|
Outputs
expandedChange
|
Type : EventEmitter
|
|
HostBindings
attr.data-previous-value
|
Type : string
|
|
class.cds--table-expand
|
Type : boolean
|
Default value : true
|
|
Methods
getAriaLabel
|
getAriaLabel()
|
|
Returns : Observable<string>
|
Protected
_ariaLabel
|
Default value : this.i18n.getOverridable("TABLE.EXPAND_ALL_BUTTON")
|
|
hostClass
|
Default value : true
|
Decorators :
@HostBinding('class.cds--table-expand')
|
|
Accessors
previousValue
|
getpreviousValue()
|
|
import {
Component,
EventEmitter,
HostBinding,
Input,
Output
} from "@angular/core";
import { I18n } from "carbon-components-angular/i18n";
import { Observable } from "rxjs";
@Component({
// tslint:disable-next-line: component-selector
selector: "[cdsTableHeadExpand], [ibmTableHeadExpand]",
template: `
<button
*ngIf="showExpandAllToggle"
class="cds--table-expand__button"
[attr.aria-label]="getAriaLabel() | async"
(click)="expandedChange.emit(!expanded)">
<svg cdsIcon="chevron--right" size="16" class="cds--table-expand__svg"></svg>
</button>
<ng-container *ngIf="!showExpandAllToggle">
<ng-content></ng-content>
</ng-container>
`
})
export class TableHeadExpand {
@HostBinding("class.cds--table-expand") hostClass = true;
@Input() showExpandAllToggle = false;
@Input() expanded = false;
@Output() expandedChange = new EventEmitter<boolean>();
@HostBinding("attr.data-previous-value") get previousValue() {
return this.expanded ? "collapsed" : null;
}
protected _ariaLabel = this.i18n.getOverridable("TABLE.EXPAND_ALL_BUTTON");
constructor(protected i18n: I18n) { }
getAriaLabel(): Observable<string> {
return this._ariaLabel.subject;
}
}
Legend
Html element with directive