From 09a33e72501affb6d07507e396151f02d16daf9a Mon Sep 17 00:00:00 2001 From: Danijel Anđelković Date: Mon, 6 Jun 2022 02:45:47 +0200 Subject: Dodao deljenje datasetova i modela, dialog za podesavanje opcija za deljenje (isPublic accessibleByLink), sa mogucnoscu kopiranja linka za deljenje. Dodao stranice za prikaz javnih datasetova / modela. --- .../_pages/page-dataset/page-dataset.component.css | 0 .../page-dataset/page-dataset.component.html | 4 ++ .../page-dataset/page-dataset.component.spec.ts | 25 ++++++++++++ .../_pages/page-dataset/page-dataset.component.ts | 45 ++++++++++++++++++++++ .../app/_pages/page-model/page-model.component.css | 0 .../_pages/page-model/page-model.component.html | 4 ++ .../_pages/page-model/page-model.component.spec.ts | 25 ++++++++++++ .../app/_pages/page-model/page-model.component.ts | 41 ++++++++++++++++++++ 8 files changed, 144 insertions(+) create mode 100644 frontend/src/app/_pages/page-dataset/page-dataset.component.css create mode 100644 frontend/src/app/_pages/page-dataset/page-dataset.component.html create mode 100644 frontend/src/app/_pages/page-dataset/page-dataset.component.spec.ts create mode 100644 frontend/src/app/_pages/page-dataset/page-dataset.component.ts create mode 100644 frontend/src/app/_pages/page-model/page-model.component.css create mode 100644 frontend/src/app/_pages/page-model/page-model.component.html create mode 100644 frontend/src/app/_pages/page-model/page-model.component.spec.ts create mode 100644 frontend/src/app/_pages/page-model/page-model.component.ts (limited to 'frontend/src/app/_pages') diff --git a/frontend/src/app/_pages/page-dataset/page-dataset.component.css b/frontend/src/app/_pages/page-dataset/page-dataset.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_pages/page-dataset/page-dataset.component.html b/frontend/src/app/_pages/page-dataset/page-dataset.component.html new file mode 100644 index 00000000..2357a656 --- /dev/null +++ b/frontend/src/app/_pages/page-dataset/page-dataset.component.html @@ -0,0 +1,4 @@ +
+ + +
\ No newline at end of file diff --git a/frontend/src/app/_pages/page-dataset/page-dataset.component.spec.ts b/frontend/src/app/_pages/page-dataset/page-dataset.component.spec.ts new file mode 100644 index 00000000..2c961cd5 --- /dev/null +++ b/frontend/src/app/_pages/page-dataset/page-dataset.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PageDatasetComponent } from './page-dataset.component'; + +describe('PageDatasetComponent', () => { + let component: PageDatasetComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PageDatasetComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PageDatasetComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_pages/page-dataset/page-dataset.component.ts b/frontend/src/app/_pages/page-dataset/page-dataset.component.ts new file mode 100644 index 00000000..b6d0c2a4 --- /dev/null +++ b/frontend/src/app/_pages/page-dataset/page-dataset.component.ts @@ -0,0 +1,45 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import Shared from 'src/app/Shared'; +import Dataset from 'src/app/_data/Dataset'; +import { FormDatasetComponent } from 'src/app/_elements/form-dataset/form-dataset.component'; +import { DatasetsService } from 'src/app/_services/datasets.service'; + +@Component({ + selector: 'app-page-dataset', + templateUrl: './page-dataset.component.html', + styleUrls: ['./page-dataset.component.css'] +}) +export class PageDatasetComponent implements OnInit { + + @ViewChild(FormDatasetComponent) formDataset!: FormDatasetComponent; + + constructor(private route: ActivatedRoute, private router: Router, private datasetsService: DatasetsService) { } + + ngOnInit(): void { + this.route.queryParams.subscribe(params => { + let id = this.route.snapshot.paramMap.get("id"); + if (id) { + this.datasetsService.getDatasetById(id).subscribe((dataset) => { + this.formDataset.dataset = dataset; + this.formDataset.loadExisting(); + }); + } else { + this.router.navigate(['']); + } + }); + } + + import() { + this.formDataset.dataset._id = ""; + this.formDataset.dataset.isPreProcess = true; + this.formDataset.dataset.isPublic = false; + this.datasetsService.stealDataset(this.formDataset.dataset).subscribe((response) => { + Shared.openDialog("Obaveštenje", "Uspešno ste dodali javni izvor podataka u vašu kolekciju."); + }, (error: any) => { + if (error.error == "Dataset with this name already exists") { + Shared.openDialog("Obaveštenje", "Izvor podataka sa ovim imenom postoji u vašoj kolekciji."); + } + }); + } +} diff --git a/frontend/src/app/_pages/page-model/page-model.component.css b/frontend/src/app/_pages/page-model/page-model.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_pages/page-model/page-model.component.html b/frontend/src/app/_pages/page-model/page-model.component.html new file mode 100644 index 00000000..e494542f --- /dev/null +++ b/frontend/src/app/_pages/page-model/page-model.component.html @@ -0,0 +1,4 @@ +
+ + +
\ No newline at end of file diff --git a/frontend/src/app/_pages/page-model/page-model.component.spec.ts b/frontend/src/app/_pages/page-model/page-model.component.spec.ts new file mode 100644 index 00000000..e235de5c --- /dev/null +++ b/frontend/src/app/_pages/page-model/page-model.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PageModelComponent } from './page-model.component'; + +describe('PageModelComponent', () => { + let component: PageModelComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PageModelComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PageModelComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_pages/page-model/page-model.component.ts b/frontend/src/app/_pages/page-model/page-model.component.ts new file mode 100644 index 00000000..f988ef0d --- /dev/null +++ b/frontend/src/app/_pages/page-model/page-model.component.ts @@ -0,0 +1,41 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import Shared from 'src/app/Shared'; +import Model from 'src/app/_data/Model'; +import { FormModelComponent } from 'src/app/_elements/form-model/form-model.component'; +import { ModelsService } from 'src/app/_services/models.service'; + +@Component({ + selector: 'app-page-model', + templateUrl: './page-model.component.html', + styleUrls: ['./page-model.component.css'] +}) +export class PageModelComponent implements OnInit { + + @ViewChild(FormModelComponent) formModel!: FormModelComponent; + + constructor(private route: ActivatedRoute, private router: Router, private modelsService: ModelsService) { } + + ngOnInit(): void { + this.route.queryParams.subscribe(params => { + let id = this.route.snapshot.paramMap.get("id"); + if (id) { + this.modelsService.getModelById(id).subscribe((model) => { + this.formModel.newModel = model; + }); + } else { + this.router.navigate(['']); + } + }); + } + + import() { + this.formModel.newModel._id = ""; + this.formModel.newModel.isPublic = false; + this.modelsService.stealModel(this.formModel.newModel).subscribe((response) => { + Shared.openDialog("Obaveštenje", "Uspešno ste dodali javnu konfiguraciju neuronske mreže u vašu kolekciju."); + }, (error: any) => { + Shared.openDialog("Obaveštenje", "Konfiguracija neuronske mreže sa ovim imenom postoji u vašoj kolekciji."); + }); + } +} -- cgit v1.2.3