File

src/app/app-poll/app-poll-list.component.ts

Implements

OnInit

Metadata

selector app-poll-list
styleUrls ./app-poll-list.component.less
templateUrl ./app-poll-list.component.html

Index

Properties
Methods

Constructor

constructor(pollService: AppPollService)
Parameters :
Name Type Optional
pollService AppPollService No

Methods

getLatestPoll
getLatestPoll(ps: AppPoll[])
Parameters :
Name Type Optional
ps AppPoll[] No
Returns : AppPoll
ngOnInit
ngOnInit()
Returns : void
update
update(event: Event)
Parameters :
Name Type Optional
event Event No
Returns : void

Properties

data
data: any
Type : any
errorMessage
errorMessage: string
Type : string
Default value : ''
poll
poll: AppPoll
Type : AppPoll
polls
polls: AppPoll[]
Type : AppPoll[]
pResult
pResult: AppPollResult
Type : AppPollResult
import { Component, OnInit } from '@angular/core';
import { AppPoll } from './app-poll';
import { AppPollService } from './app-poll.service';
import { ElementRef } from '@angular/core/src/linker/element_ref';

import { AppPollResultsService } from './app-poll-results.service';
import { AppPollResult } from 'src/app/app-poll/app-poll-result';

@Component({
  selector: 'app-poll-list',
  templateUrl: './app-poll-list.component.html',
  styleUrls: ['./app-poll-list.component.less']
})
export class AppPollListComponent implements OnInit {
  data: any;
  polls: AppPoll[];
  poll : AppPoll;  
  errorMessage = '';
  pResult: AppPollResult;
  
constructor(private pollService: AppPollService
//, private pollResultService: AppPollResultsService
) {    }

ngOnInit() {
    this.pollService.getPolls().subscribe(
        polls => {
            this.polls = polls;
            this.poll = this.getLatestPoll(this.polls);          
           
        },
        error => this.errorMessage = <any>error)
    }

    getLatestPoll(ps: AppPoll[]): AppPoll{     
     const sortedPolls: AppPoll[] =  this.polls.sort((poll1: AppPoll, poll2: AppPoll )=>
      poll2.publishedDate - poll1.publishedDate);

    return  sortedPolls[0];
    }

    // getPollResult(pId: number): void{

    //   this.pollResultService.getPollResult(pId).subscribe(
    //     pollResult => {
    //       this.pResult = pollResult;
    //     },
    //     error => this.errorMessage = <any>error)
      
    // }  
update(event: Event) {
  //this.data = //create new data
}
}
<app-poll [poll] = poll></app-poll>
<section>
    <div class="row">
       
        <div *ngFor="let poll of polls; let i = index;" class="col-sm-12 col-md-6 card">
                <div class="row card-body">
                <div class="col-sm-3">
                    <img class="width-inherit" src="../assets/doughnutChart.png" alt="Comparision chart" />
                </div>
                <div class="col-sm-6">     
                    <div>
                        <h6>{{poll?.publishedDate | date}}</h6>
                    </div>
                    <div>
                       <h5> {{poll.title}}</h5>
                    </div>                   
                 </div>
            </div>
        </div>
    </div>
</section>

./app-poll-list.component.less

img.width-inherit{
    width: inherit;
    
}
Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""