import { Component } from '@angular/core';
import { BixiTableService, EColType, ICols, IRows } from '@bixi/core/table';

@Component({
  selector: 'table-checkbox',
  templateUrl: './table-checkbox.component.html'
})
export class TableCheckboxComponent {
  selectedKeys = [];

  rows = [...Array(100)].fill('').map((e, i) => ({
    // _checked: true,
    name: `name${e}_${i + 1}`,
    age: i + 1,
    area: `上海${i}`,
    range: i * 100 + 1,
    id: `${i + 1}`
  }));

  checked = false;

  cols: ICols = [
    {
      type: EColType.checkbox,
      key: 'id',
      selectable(id: string) {
        return id !== '8';
      }
    },
    {
      name: '姓名',
      key: 'name',
      titleTipContent: '测试title'
    },
    {
      name: '年龄',
      key: 'age',
      visible: () => {
        return this.checked;
      }
    },
    {
      name: '地区',
      key: 'area'
    }
  ];

  constructor(private bixiTableService: BixiTableService) {
  }

  onSelected(value: IRows) {
    console.log(value);
  }

  onCheckedChange(val: boolean) {
    this.checked = val;
    this.bixiTableService.updateView();
  }
}
