nycJSorg/angular-presentation

View on GitHub
libs/utils/src/lib/sync/components/questions/questions-admin/questions-admin.component.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Component } from '@angular/core';
import { QuestionsService } from '@codelab/utils/src/lib/sync/components/questions/common/questions.service';
import { map } from 'rxjs/operators';
import { statuses } from '@codelab/utils/src/lib/sync/components/questions/common/common';

@Component({
  selector: 'codelab-questions-admin',
  templateUrl: './questions-admin.component.html',
  styleUrls: ['./questions-admin.component.css'],
  providers: [QuestionsService]
})
export class QuestionsAdminComponent {
  readonly statuses = statuses;

  requireApproval: boolean;

  readonly questionsByStatus$ = this.questionsService.questions$.pipe(
    map(questions => {
      return questions.reduce((result, question) => {
        result[question.status] = result[question.status] || [];
        result[question.status].push(question);
        return result;
      }, {});
    })
  );

  constructor(readonly questionsService: QuestionsService) {}
}