File

src/app/components/professor/survey-list/survey-list.component.ts

Metadata

selector app-survey-list
styleUrls survey-list.component.css
templateUrl survey-list.component.html

Inputs

isSelecting

Type: boolean

Default value: false

surveysAdded

Type: any[]

Outputs

surveyToAdd

Constructor

constructor(apiProfessorService: any, authService: any, route: Router)

Methods

createNewSurvey
createNewSurvey()
Returns: void
addSurveyToCourse
addSurveyToCourse(survey: any)
Returns: void
isInclude
isInclude(survey: any)
Returns: void
deleteSurvey
deleteSurvey(survey: any)
Returns: void

Properties

isLoading
isLoading: boolean
Default value: false
surveys
surveys: any[]
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { Router } from '@angular/router';
import { Message } from '@app/core/models/message.model';
import { equals, Survey } from '@app/core/models/survey.model';
import { ApiAuthService } from '@app/core/services/auth/api.auth.service';
import { ApiProfessorService } from '@app/core/services/professor/api.professor.service';

@Component({
  selector: 'app-survey-list',
  templateUrl: './survey-list.component.html',
  styleUrls: ['./survey-list.component.css']
})
export class SurveyListComponent implements OnInit {

  constructor(
    private apiProfessorService: ApiProfessorService,
    private authService: ApiAuthService,
    private route: Router
  ) {

  }
  ngOnInit(): void {
    this.isLoading = true;
    this.apiProfessorService
      .getSurveysByUser(this.authService.userValue!.id)
      .subscribe(surveys => { this.surveys = surveys; this.isLoading = false })
  }

  isLoading: boolean = false;
  surveys: Survey[] = [];

  @Input() isSelecting: boolean = false;
  @Output() surveyToAdd = new EventEmitter<Survey>
  @Input() surveysAdded: Survey[] = [];

  async createNewSurvey() {
    await this.route.navigate(['survey/create'])
  }

  addSurveyToCourse(survey: Survey) {
    this.surveyToAdd.emit(survey)
    this.surveysAdded.push(survey);
  }

  isInclude(survey: Survey) {
    let value = false
    this.surveysAdded.forEach(surveyToCompare => {
      if (equals(survey, surveyToCompare))
        value = true;
    })
    return value;
  }

  deleteSurvey(survey: Survey) {
    if (confirm("Seguro que quieres eliminar el cuestionario")) {
      this.apiProfessorService
        .deleteSurvey(survey.id!)
        .subscribe((msg: Message) => {
          alert(msg.message)
          this.surveys = this.surveys.filter((s) => s.id != survey.id)
        })
    }
  }

}

results matching ""

    No results matching ""