import { Component } from '@angular/core'; @Component({ selector: 'cm-table-doc-4', templateUrl: 'table-doc-4.component.html' }) export class TableDoc4Component { _allChecked = false; _indeterminate = false; _displayData: any = []; data = [{ key: '1', name: 'John Brown', age: 32, disabled: true, address: 'New York No. 1 Lake Park', }, { key: '2', name: 'Jim Green', age: 42, address: 'London No. 1 Lake Park', }, { key: '3', name: 'Joe Black', age: 32, address: 'Sidney No. 1 Lake Park', }]; _displayDataChange($event: any) { this._displayData = $event; this._refreshStatus(); } _refreshStatus() { const allChecked = this._displayData.every((value: any) => value.disabled || value.checked); const allUnChecked = this._displayData.every((value: any) => value.disabled || !value.checked); this._allChecked = allChecked; this._indeterminate = (!allChecked) && (!allUnChecked); } _checkAll(value: any) { if (value) { this._displayData.forEach((data: any) => { if (!data.disabled) { data.checked = true; } }); } else { this._displayData.forEach((data: any) => data.checked = false); } this._refreshStatus(); } }