From b3479aa63d26e7ce7acedd0d56352c04440eb41b Mon Sep 17 00:00:00 2001 From: Ivan Ljubisavljevic Date: Fri, 25 Mar 2022 12:10:59 +0100 Subject: Moji modeli stranica. Nije zavrseno #55 --- .../_elements/item-model/item-model.component.css | 0 .../_elements/item-model/item-model.component.html | 26 ++++++++++++++++++++++ .../item-model/item-model.component.spec.ts | 25 +++++++++++++++++++++ .../_elements/item-model/item-model.component.ts | 18 +++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 frontend/src/app/_elements/item-model/item-model.component.css create mode 100644 frontend/src/app/_elements/item-model/item-model.component.html create mode 100644 frontend/src/app/_elements/item-model/item-model.component.spec.ts create mode 100644 frontend/src/app/_elements/item-model/item-model.component.ts (limited to 'frontend/src/app/_elements') diff --git a/frontend/src/app/_elements/item-model/item-model.component.css b/frontend/src/app/_elements/item-model/item-model.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/item-model/item-model.component.html b/frontend/src/app/_elements/item-model/item-model.component.html new file mode 100644 index 00000000..ca170b3d --- /dev/null +++ b/frontend/src/app/_elements/item-model/item-model.component.html @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/frontend/src/app/_elements/item-model/item-model.component.spec.ts b/frontend/src/app/_elements/item-model/item-model.component.spec.ts new file mode 100644 index 00000000..f696a160 --- /dev/null +++ b/frontend/src/app/_elements/item-model/item-model.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ItemModelComponent } from './item-model.component'; + +describe('ItemModelComponent', () => { + let component: ItemModelComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ItemModelComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ItemModelComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/item-model/item-model.component.ts b/frontend/src/app/_elements/item-model/item-model.component.ts new file mode 100644 index 00000000..7f85f43f --- /dev/null +++ b/frontend/src/app/_elements/item-model/item-model.component.ts @@ -0,0 +1,18 @@ +import { Component, Input, OnInit } from '@angular/core'; +import Model from 'src/app/_data/Model'; + +@Component({ + selector: 'app-item-model', + templateUrl: './item-model.component.html', + styleUrls: ['./item-model.component.css'] +}) +export class ItemModelComponent implements OnInit { + + @Input() model: Model = new Model(); + + constructor() { } + + ngOnInit(): void { + } + +} -- cgit v1.2.3 From e9112baa067850cbbd460060347cb1987e389902 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Sat, 26 Mar 2022 14:43:04 +0100 Subject: Dodat atribut hasHeader u klasi Dataset (front i back) i iskoriscen u tabelarnom prikazu (datatable component). --- backend/api/api/Models/Dataset.cs | 1 + frontend/src/app/_data/Dataset.ts | 3 ++- .../src/app/_elements/dataset-load/dataset-load.component.html | 2 +- .../src/app/_elements/dataset-load/dataset-load.component.ts | 9 +++++---- .../src/app/_elements/item-dataset/item-dataset.component.html | 2 +- frontend/src/app/_pages/add-model/add-model.component.html | 2 +- frontend/src/app/_pages/add-model/add-model.component.ts | 3 ++- 7 files changed, 13 insertions(+), 9 deletions(-) (limited to 'frontend/src/app/_elements') diff --git a/backend/api/api/Models/Dataset.cs b/backend/api/api/Models/Dataset.cs index 67ef8cfe..dcfde3b1 100644 --- a/backend/api/api/Models/Dataset.cs +++ b/backend/api/api/Models/Dataset.cs @@ -21,6 +21,7 @@ namespace api.Models public DateTime dateCreated { get; set; } public DateTime lastUpdated { get; set; } public string delimiter { get; set; } + public bool hasHeader { get; set; } } } diff --git a/frontend/src/app/_data/Dataset.ts b/frontend/src/app/_data/Dataset.ts index 665df932..c5b56957 100644 --- a/frontend/src/app/_data/Dataset.ts +++ b/frontend/src/app/_data/Dataset.ts @@ -11,6 +11,7 @@ export default class Dataset { public dateCreated: Date = new Date(), public lastUpdated: Date = new Date(), public username: string = '', - public delimiter: string = '' + public delimiter: string = '', + public hasHeader: boolean = true ) { } } \ No newline at end of file diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.html b/frontend/src/app/_elements/dataset-load/dataset-load.component.html index 3ac43f73..76e46092 100644 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.html +++ b/frontend/src/app/_elements/dataset-load/dataset-load.component.html @@ -33,7 +33,7 @@
diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts index e7b19f9a..f9343117 100644 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts +++ b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts @@ -13,7 +13,7 @@ export class DatasetLoadComponent { delimiterOptions: Array = [",", ";", "\t", "razmak", "|"]; //podrazumevano "," - hasHeader: boolean = true; + //hasHeader: boolean = true; hasInput: boolean = false; csvRecords: any[] = []; @@ -21,7 +21,7 @@ export class DatasetLoadComponent { rowsNumber: number = 0; colsNumber: number = 0; - dataset: Dataset; + dataset: Dataset; //dodaj ! potencijalno constructor(private ngxCsvParser: NgxCsvParser) { this.dataset = new Dataset(); @@ -54,13 +54,14 @@ export class DatasetLoadComponent { console.log('Result', result); if (result.constructor === Array) { this.csvRecords = result; - if (this.hasHeader) + if (this.dataset.hasHeader) this.rowsNumber = this.csvRecords.length - 1; else this.rowsNumber = this.csvRecords.length; this.colsNumber = this.csvRecords[0].length; - this.dataset.header = this.csvRecords[0]; + if (this.dataset.hasHeader) //kasnije dodati opciju kada nema header da korisnik rucno unosi header-e + this.dataset.header = this.csvRecords[0]; this.loaded.emit("loaded"); } diff --git a/frontend/src/app/_elements/item-dataset/item-dataset.component.html b/frontend/src/app/_elements/item-dataset/item-dataset.component.html index 46840cdd..8751fce5 100644 --- a/frontend/src/app/_elements/item-dataset/item-dataset.component.html +++ b/frontend/src/app/_elements/item-dataset/item-dataset.component.html @@ -8,7 +8,7 @@

- +
{{column}}{{column}}
diff --git a/frontend/src/app/_pages/add-model/add-model.component.html b/frontend/src/app/_pages/add-model/add-model.component.html index 7e944a19..f4574eab 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.html +++ b/frontend/src/app/_pages/add-model/add-model.component.html @@ -54,7 +54,7 @@ + (loaded)="datasetLoaded = true; selectedDataset = datasetLoadComponent?.dataset; datasetFile = datasetLoadComponent?.csvRecords; datasetHasHeader = datasetLoadComponent?.dataset!.hasHeader"> diff --git a/frontend/src/app/_pages/add-model/add-model.component.ts b/frontend/src/app/_pages/add-model/add-model.component.ts index fcc8ea70..2552f612 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.ts +++ b/frontend/src/app/_pages/add-model/add-model.component.ts @@ -209,6 +209,7 @@ export class AddModelComponent implements OnInit { selectThisDataset(dataset: Dataset) { this.selectedDataset = dataset; this.existingDatasetSelected = true; + this.datasetHasHeader = this.selectedDataset.hasHeader; /*let datasets = document.getElementsByClassName("usersDataset") as HTMLCollection; for (let i = 0; i < datasets.length; i++) { @@ -222,7 +223,7 @@ export class AddModelComponent implements OnInit { this.datasetFile = this.csv.csvToArray(file, (dataset.delimiter == "razmak") ? " " : (dataset.delimiter == "") ? "," : dataset.delimiter); } }); - this.datasetHasHeader = false; + //this.datasetHasHeader = false; this.resetCbsAndRbs(); } -- cgit v1.2.3 From f22b01150a7ffc9c7d246e5c555b36511d80b492 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Sat, 26 Mar 2022 19:37:27 +0100 Subject: Datatable.component: promenjen prikaz csv fajla (scrollbar table) --- .../src/app/_elements/datatable/datatable.component.html | 15 ++++++++------- .../src/app/_pages/add-model/add-model.component.html | 4 +++- frontend/src/app/_pages/add-model/add-model.component.ts | 2 ++ 3 files changed, 13 insertions(+), 8 deletions(-) (limited to 'frontend/src/app/_elements') diff --git a/frontend/src/app/_elements/datatable/datatable.component.html b/frontend/src/app/_elements/datatable/datatable.component.html index 2c469ecc..bd9e7a13 100644 --- a/frontend/src/app/_elements/datatable/datatable.component.html +++ b/frontend/src/app/_elements/datatable/datatable.component.html @@ -1,21 +1,21 @@
-
- +
+
- +
{{item}}
{{col}}
- +
- + @@ -23,7 +23,8 @@
- . . .
- {{data.length}} x {{data[0].length}} +
+ {{data.length - 1}} x {{data[0].length}} + {{data.length}} x {{data[0].length}}
\ No newline at end of file diff --git a/frontend/src/app/_pages/add-model/add-model.component.html b/frontend/src/app/_pages/add-model/add-model.component.html index f4574eab..09a11e37 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.html +++ b/frontend/src/app/_pages/add-model/add-model.component.html @@ -56,7 +56,9 @@ - +
+ +
diff --git a/frontend/src/app/_pages/add-model/add-model.component.ts b/frontend/src/app/_pages/add-model/add-model.component.ts index 2552f612..995aaa87 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.ts +++ b/frontend/src/app/_pages/add-model/add-model.component.ts @@ -221,6 +221,8 @@ export class AddModelComponent implements OnInit { this.datasets.getDatasetFile(dataset.fileId).subscribe((file: string | undefined) => { if (file) { this.datasetFile = this.csv.csvToArray(file, (dataset.delimiter == "razmak") ? " " : (dataset.delimiter == "") ? "," : dataset.delimiter); + this.datasetFile.length = this.datasetFile.length - 1; + console.log(this.datasetFile); } }); //this.datasetHasHeader = false; -- cgit v1.2.3 From a315d3c0bc44c091d7c85697c9c8135b314ebc06 Mon Sep 17 00:00:00 2001 From: Ivan Ljubisavljevic Date: Sat, 26 Mar 2022 20:09:28 +0100 Subject: Odradjen my-models stranica #55 --- .../_elements/item-model/item-model.component.html | 26 +++-------- .../app/_pages/my-models/my-models.component.html | 32 +++++++++++--- .../app/_pages/my-models/my-models.component.ts | 51 ++++++++++++++++++---- frontend/src/app/_services/models.service.ts | 10 +++++ 4 files changed, 86 insertions(+), 33 deletions(-) (limited to 'frontend/src/app/_elements') diff --git a/frontend/src/app/_elements/item-model/item-model.component.html b/frontend/src/app/_elements/item-model/item-model.component.html index ca170b3d..9466da01 100644 --- a/frontend/src/app/_elements/item-model/item-model.component.html +++ b/frontend/src/app/_elements/item-model/item-model.component.html @@ -1,26 +1,14 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/frontend/src/app/_pages/my-models/my-models.component.html b/frontend/src/app/_pages/my-models/my-models.component.html index e94f67f5..870e0ddb 100644 --- a/frontend/src/app/_pages/my-models/my-models.component.html +++ b/frontend/src/app/_pages/my-models/my-models.component.html @@ -1,5 +1,27 @@ -
    -
  • - -
  • -
\ No newline at end of file +
+
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+

Nema rezultata

+
+
+ +
+ + + + + +
diff --git a/frontend/src/app/_pages/my-models/my-models.component.ts b/frontend/src/app/_pages/my-models/my-models.component.ts index 3ab57e59..bd6b0a2b 100644 --- a/frontend/src/app/_pages/my-models/my-models.component.ts +++ b/frontend/src/app/_pages/my-models/my-models.component.ts @@ -1,22 +1,55 @@ import { Component, OnInit } from '@angular/core'; import Model from 'src/app/_data/Model'; +import { ModelsService } from 'src/app/_services/models.service'; @Component({ selector: 'app-my-models', templateUrl: './my-models.component.html', styleUrls: ['./my-models.component.css'] }) -export class MyModelsComponent /*implements OnInit*/ { - myModels: Model[]; +export class MyModelsComponent implements OnInit { + myModels: Model[] = []; + //myModel: Model; - constructor() { - this.myModels = [ - new Model('Titanik', 'Opis titanik'), - new Model('Neki drugi set', 'opis'), - new Model('Treci set', 'opis') - ]; } + constructor(private modelsS : ModelsService) { + + + + } + + ngOnInit(): void { + this.getAllMyModels(); - /*ngOnInit(): void { + } +/* + editModel(): void{ + this.modelsS.editModel().subscribe(m => { + this.myModel = m; + + }) } */ + +deleteThisModel(model: Model): void{ + console.log("OK"); + this.modelsS.deleteModel(model).subscribe((response) => { + console.log("OBRISANOOO JEE", response); + //na kraju uspesnog + this.getAllMyModels(); + }, (error) =>{ + if (error.error == "Model with name = {name} deleted") { + alert("Greška pri brisanju modela!"); + } + }); + +} + + getAllMyModels(): void{ + this.modelsS.getMyModels().subscribe(m => { + + this.myModels = m; + console.log(this.myModels); + }); + } + } diff --git a/frontend/src/app/_services/models.service.ts b/frontend/src/app/_services/models.service.ts index d0346c03..58ddb2e6 100644 --- a/frontend/src/app/_services/models.service.ts +++ b/frontend/src/app/_services/models.service.ts @@ -46,4 +46,14 @@ export class ModelsService { getMyModels(): Observable { return this.http.get(`${API_SETTINGS.apiURL}/model/mymodels`, { headers: this.authService.authHeader() }); } + + editModel(model:Model) : Observable + { + return this.http.put(`${API_SETTINGS.apiURL}/model/`, model, { headers: this.authService.authHeader() }); + } + + deleteModel(model:Model) : Observable + { + return this.http.delete(`${API_SETTINGS.apiURL}/model/`+model.name, { headers: this.authService.authHeader() }); + } } -- cgit v1.2.3
{{col}}