import { Input, Component } from 'angular-ts-decorators';

/**
 * A component that displays the public information associated with an application repository.
 */
@Component({
  selector: 'appPublicView',
  templateUrl: '/static/js/directives/ui/app-public-view/app-public-view.component.html'
})
export class AppPublicViewComponent implements ng.IComponentController {
  @Input('<') public repository: any;
  private currentTab: string = 'description';
  private settingsShown: number = 0;

  constructor(private Config: any) {
      this.updateDescription = this.updateDescription.bind(this);
  }

  private updateDescription(content: string) {
    this.repository.description = content;
    this.repository.put();
  }

  public showTab(tab: string): void {
      this.currentTab = tab;
      if (tab == 'settings') {
          this.settingsShown++;
      }
  }
}