SHARE
TWEET
ProjectService
a guest
Dec 8th, 2017
104
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- import { Component, OnInit } from '@angular/core';
- import { MatTableDataSource, MatFormFieldModule, MatInputModule } from '@angular/material';
- import { DataSource } from "@angular/cdk/table";
- import { ProjectService } from "../services/project.service";
- import { Project } from "../models/ProjectModel";
- import { Observable } from "rxjs/Observable";
- import 'rxjs/add/operator/shareReplay';
- import { BehaviorSubject } from 'rxjs/BehaviorSubject';
- @Component({
- selector: 'app-projects',
- templateUrl: './projects.component.html',
- styleUrls: ['./projects.component.css']
- })
- export class ProjectsComponent implements OnInit {
- private dataSource = new ProjectDataSource(this.projectService);
- displayedColumns = ['project_name','project_description', 'project_status'];
- applyFilter(filterValue: string) {
- console.log(filterValue);
- filterValue = filterValue.trim(); // Remove whitespace
- filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches
- this.dataSource.filter = filterValue;
- console.log(this.dataSource);
- }
- constructor(private projectService: ProjectService) {
- //this.projectService.getAllProjects().subscribe(e=> e.map(b => this.projectArray.push(b)));
- }
- ngOnInit() {}
- }
- export class ProjectDataSource extends MatTableDataSource<any>{
- ProjectObservable = this.projectService.getAllProjects();
- ProjectSubject = new BehaviorSubject<Project[]>([]);
- constructor(private projectService: ProjectService){
- super();
- }
- connect(): BehaviorSubject<Project[]>{
- this.ProjectObservable
- .subscribe(e => this.ProjectSubject.next(e));
- return this.ProjectSubject;
- }
- disconnect(){ }
- }
- #########################
- import { Injectable } from '@angular/core';
- import { HttpClient } from "@angular/common/http";
- import { Project } from "../models/ProjectModel";
- import { Observable } from "rxjs/Observable";
- @Injectable()
- export class ProjectService {
- readonly ALL_PROJECT_JSON = "http://localhost:8080/api/projects/read";
- constructor(private http: HttpClient) { }
- getAllProjects(): Observable<Project[]>{
- return this.http.get<Project[]>(this.ALL_PROJECT_JSON);
- }
- }
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.
