import { Component, OnInit } from '@angular/core';
import { LabelHub, LabelTableMode, PdfMode } from '@bixi/label';
import { tables } from './data';

@Component({
  selector: 'idea-label-table',
  templateUrl: './label-table.component.html'
})
export class IdeaLabelTableComponent implements OnInit {
  labelModes = Object.values(LabelTableMode);
  labelMode = LabelTableMode.tableAddHLine;

  hub = new LabelHub({
    dev: true,
    logUnhandledEvents: true
  });

  tables = tables;

  ngOnInit() {
    this.hub.init({
      pdfMode: PdfMode.full,
      labelMode: this.labelMode,
      id: '1',
      pdfUrl: 'http://localhost:4200/assets/pdf/table/f3.pdf',
      pdfInfoUrl: 'http://localhost:4200/assets/pdf/table/f3_info.json',
      pdfCharsUrl: 'http://localhost:4200/assets/pdf/table/json/page_1.json',
      pdfSize: 2000,
      labels: [],
      tables: this.tables
    });
  }

  onLabelModeChange(mode: LabelTableMode) {
    this.hub.setLabelMode(mode);
  }

  getTableMatrix() {
    console.log(this.hub.getTableMatrix());
  }

  scrollToTableCell() {
    this.hub.scrollToTableCell({
      pageNumber: 1,
      x: 200,
      y: 600
    });

    console.log(this.hub.api);
  }
}
