import { Component, OnInit, Input } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Injector } from '@angular/core';

import { <%-SchemaName%>ListComponent } from './<%-schemaName%>-list.component';
import { <%-SchemaName%>Service } from '../<%-schemaName%>.service';

@Component({
  <%- include(`/widgets/list/component.template.custom.ts`)%>
})
export class <%-SchemaName%><%-ComponentClassName%>Component extends <%-SchemaName%>ListComponent implements OnInit {
  public override clickItemAction: string = '<%-listViewObj.clickItemAction%>';
  public override cardHasLink: boolean = <%-listViewObj.cardHasLink%>;
  public override cardHasSelect: boolean = <%-listViewObj.cardHasSelect%>;
  public override includeSubDetail: boolean = <%-listViewObj.includeSubDetail%>;
  public override canUpdate: boolean = <%-listViewObj.canUpdate%>;
  public override canDelete: boolean = <%-listViewObj.canDelete%>;
  public override canArchive: boolean = <%-listViewObj.canArchive%>;
  public override canCheck: boolean = <%-listViewObj.canCheck%>;
  public override itemMultiSelect: boolean = <%-listViewObj.itemMultiSelect%>;
  public override majorUi: boolean = <%-listViewObj.majorUi%>;

  constructor(
    public override <%-schemaName%>Service: <%-SchemaName%>Service,
    public override injector: Injector,
    public override route: ActivatedRoute,
  ) {
    super(<%-schemaName%>Service, injector, route);

    this.listViews = [ <%for (let widget of widgetDef.views) {%>'<%-widget%>', <%}%>];
    this.listViewFilter = '<%-widgetDef.views[0]%>';
  }

  override ngOnInit() {
    super.ngOnInit();
  }
}
