SHARE
TWEET

ProjectService

a guest Dec 8th, 2017 104 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Component, OnInit } from '@angular/core';
  2. import { MatTableDataSource, MatFormFieldModule, MatInputModule } from '@angular/material';
  3. import { DataSource } from "@angular/cdk/table";
  4. import { ProjectService } from "../services/project.service";
  5. import { Project } from "../models/ProjectModel";
  6. import { Observable } from "rxjs/Observable";
  7. import 'rxjs/add/operator/shareReplay';
  8. import { BehaviorSubject } from 'rxjs/BehaviorSubject';
  9.  
  10. @Component({
  11.   selector: 'app-projects',
  12.   templateUrl: './projects.component.html',
  13.   styleUrls: ['./projects.component.css']
  14. })
  15.  
  16. export class ProjectsComponent implements OnInit {
  17.  
  18.   private dataSource = new ProjectDataSource(this.projectService);
  19.   displayedColumns = ['project_name','project_description', 'project_status'];
  20.  
  21.   applyFilter(filterValue: string) {
  22.     console.log(filterValue);
  23.     filterValue = filterValue.trim(); // Remove whitespace
  24.     filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches
  25.     this.dataSource.filter = filterValue;
  26.     console.log(this.dataSource);
  27.   }
  28.  
  29.  
  30.   constructor(private projectService: ProjectService) {
  31.     //this.projectService.getAllProjects().subscribe(e=> e.map(b => this.projectArray.push(b)));
  32.   }
  33.  
  34.   ngOnInit() {}
  35. }
  36.  
  37. export class ProjectDataSource extends MatTableDataSource<any>{
  38.   ProjectObservable = this.projectService.getAllProjects();
  39.   ProjectSubject = new BehaviorSubject<Project[]>([]);
  40.  
  41.   constructor(private projectService: ProjectService){
  42.     super();
  43.   }
  44.  
  45.   connect(): BehaviorSubject<Project[]>{
  46.     this.ProjectObservable
  47.       .subscribe(e => this.ProjectSubject.next(e));
  48.     return this.ProjectSubject;
  49.   }
  50.  
  51.   disconnect(){ }
  52. }
  53.  
  54.  
  55.  
  56. #########################
  57.  
  58. import { Injectable } from '@angular/core';
  59. import { HttpClient } from "@angular/common/http";
  60. import { Project } from "../models/ProjectModel";
  61. import { Observable } from "rxjs/Observable";
  62.  
  63. @Injectable()
  64. export class ProjectService {
  65.   readonly ALL_PROJECT_JSON = "http://localhost:8080/api/projects/read";
  66.   constructor(private http: HttpClient) { }
  67.  
  68.   getAllProjects(): Observable<Project[]>{
  69.     return this.http.get<Project[]>(this.ALL_PROJECT_JSON);
  70.   }
  71. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top