src/table/head/table-head-checkbox.component.ts
selector | [cdsTableHeadCheckbox], [ibmTableHeadCheckbox] |
styles |
:host { width: 10px; }
|
template |
|
Properties |
|
Methods |
Inputs |
Outputs |
HostBindings |
Accessors |
constructor(i18n: I18n)
|
||||||
Parameters :
|
ariaLabel | |
Type : string | Observable
|
|
checked | |
Type : boolean
|
|
Default value : false
|
|
indeterminate | |
Type : boolean
|
|
Default value : false
|
|
name | |
Type : string
|
|
Default value : `select-all-${TableHeadCheckbox.tableSelectAllCount++}`
|
|
skeleton | |
Type : boolean
|
|
Default value : false
|
|
change | |
Type : EventEmitter
|
|
class.cds--table-column-checkbox |
Type : boolean
|
Default value : true
|
getAriaLabel |
getAriaLabel()
|
Returns :
Observable<string>
|
Protected _ariaLabel |
Default value : this.i18n.getOverridable("TABLE.CHECKBOX_HEADER")
|
hostClass |
Default value : true
|
Decorators :
@HostBinding('class.cds--table-column-checkbox')
|
Private Static tableSelectAllCount |
Type : number
|
Default value : 0
|
ariaLabel | ||||||
getariaLabel()
|
||||||
setariaLabel(value: string | Observable
|
||||||
Parameters :
Returns :
void
|
import {
Component,
Input,
Output,
HostBinding,
EventEmitter
} from "@angular/core";
import { I18n } from "carbon-components-angular/i18n";
import { Observable } from "rxjs";
@Component({
// tslint:disable-next-line: component-selector
selector: "[cdsTableHeadCheckbox], [ibmTableHeadCheckbox]",
template: `
<cds-checkbox
*ngIf="!skeleton"
inline="true"
[name]="name"
[checked]="checked"
[indeterminate]="indeterminate"
(checkedChange)="change.emit()"
[hideLabel]="true">
{{getAriaLabel() | async}}
</cds-checkbox>
`,
styles: [`
:host { width: 10px; }
`]
})
export class TableHeadCheckbox {
private static tableSelectAllCount = 0;
@Input() checked = false;
@Input() indeterminate = false;
@Input() skeleton = false;
@Input() name = `select-all-${TableHeadCheckbox.tableSelectAllCount++}`;
@Input()
set ariaLabel(value: string | Observable<string>) {
this._ariaLabel.override(value);
}
get ariaLabel() {
return this._ariaLabel.value;
}
@Output() change = new EventEmitter<void>();
@HostBinding("class.cds--table-column-checkbox") hostClass = true;
protected _ariaLabel = this.i18n.getOverridable("TABLE.CHECKBOX_HEADER");
constructor(protected i18n: I18n) { }
getAriaLabel(): Observable<string> {
return this._ariaLabel.subject;
}
}
:host { width: 10px; }