diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-03-23 13:40:56 +0100 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-03-23 13:40:56 +0100 |
commit | 095e5fd6488fd77ac8ba6c58e199528b64430a1e (patch) | |
tree | 344c4f684e31b52cfd9abb7f52f31d22b4b23c0c /frontend/src/app | |
parent | c77852e3935319559a3021c0bd74383731a72767 (diff) |
Dodata stranica za pretragu public prediktora.
Diffstat (limited to 'frontend/src/app')
5 files changed, 93 insertions, 5 deletions
diff --git a/frontend/src/app/_pages/browse-predictors/browse-predictors.component.html b/frontend/src/app/_pages/browse-predictors/browse-predictors.component.html index 01c4af82..1626f6fc 100644 --- a/frontend/src/app/_pages/browse-predictors/browse-predictors.component.html +++ b/frontend/src/app/_pages/browse-predictors/browse-predictors.component.html @@ -1 +1,44 @@ -<p>browse-predictors works!</p> + +<div id="wrapper"> + + <div id="container" class="container p-5" style="background-color: white; min-height: 100%;"> + <div class="row mt-3 mb-2 d-flex justify-content-center"> + + <div class="col-sm-6" style="margin-bottom: 10px;"> + <input type="text" class="form-control" placeholder="Search Here" [(ngModel)]="term"> + </div> + + <div class="row"> + <div class="col-sm-4" style="margin-bottom: 10px;" *ngFor="let predictor of myPredictors | filter:term"> + <div class="card h-100"> + <div class="card-body"> + <h5 class="card-title">{{predictor.name}}</h5> + <p class="card-text">{{predictor.description}}</p> + <a href="#" class="btn btn-primary">Otvori</a> + </div> + <div class="card-footer text-muted"> + Kreirao: {{predictor.username}} <br> + Datum kreiranja: {{predictor.dateCreated |date}} + </div> + </div> + </div> + + + </div> + + + + + + + + + + + + + + + </div> + </div> +</div>
\ No newline at end of file diff --git a/frontend/src/app/_pages/browse-predictors/browse-predictors.component.ts b/frontend/src/app/_pages/browse-predictors/browse-predictors.component.ts index b4fb2a9d..92952034 100644 --- a/frontend/src/app/_pages/browse-predictors/browse-predictors.component.ts +++ b/frontend/src/app/_pages/browse-predictors/browse-predictors.component.ts @@ -1,5 +1,6 @@ import { Component, OnInit } from '@angular/core'; - +import { PredictorsService } from 'src/app/_services/predictors.service'; +import Predictor from 'src/app/_data/Predictor'; @Component({ selector: 'app-browse-predictors', templateUrl: './browse-predictors.component.html', @@ -7,7 +8,13 @@ import { Component, OnInit } from '@angular/core'; }) export class BrowsePredictorsComponent implements OnInit { - constructor() { } + myPredictors? :Predictor[]; + term: string=""; + constructor(private predictors: PredictorsService) { + this.predictors.getPublicPredictors().subscribe((predictors) => { + this.myPredictors = predictors; + }); + } ngOnInit(): void { } diff --git a/frontend/src/app/_services/predictors.service.spec.ts b/frontend/src/app/_services/predictors.service.spec.ts new file mode 100644 index 00000000..7733780b --- /dev/null +++ b/frontend/src/app/_services/predictors.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { PredictorsService } from './predictors.service'; + +describe('PredictorsService', () => { + let service: PredictorsService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(PredictorsService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_services/predictors.service.ts b/frontend/src/app/_services/predictors.service.ts new file mode 100644 index 00000000..0cd7f0f6 --- /dev/null +++ b/frontend/src/app/_services/predictors.service.ts @@ -0,0 +1,21 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { API_SETTINGS } from 'src/config'; +import Predictor from '../_data/Predictor'; +import { AuthService } from './auth.service'; + +@Injectable({ + providedIn: 'root' +}) +export class PredictorsService { + + + + constructor(private http: HttpClient, private authService: AuthService) { } + + getPublicPredictors(): Observable<Predictor[]> { + return this.http.get<Predictor[]>(`${API_SETTINGS.apiURL}/Predictor/publicpredictors`, { headers: this.authService.authHeader() }); + } + +} diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 7f076421..09faa281 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -7,7 +7,7 @@ import { MatSliderModule } from '@angular/material/slider'; import { MatIconModule } from '@angular/material/icon'; import {NgChartsModule} from 'ng2-charts'; - +import { Ng2SearchPipe, Ng2SearchPipeModule } from 'ng2-search-filter'; import { AppComponent } from './app.component'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { DatasetLoadComponent } from './_elements/dataset-load/dataset-load.component'; @@ -68,7 +68,8 @@ import { BarchartComponent } from './barchart/barchart.component'; ReactiveFormsModule, MatSliderModule, MatIconModule, - NgChartsModule + NgChartsModule, + Ng2SearchPipeModule ], providers: [], bootstrap: [AppComponent] |