From 2234250e15266cece83f7240fcc858a50f48a0b7 Mon Sep 17 00:00:00 2001 From: TAMARA JERINIC Date: Tue, 24 May 2022 19:17:41 +0200 Subject: Sređen 1px u tabeli za statistiku. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/app/_elements/column-table/column-table.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'frontend/src/app/_elements/column-table') diff --git a/frontend/src/app/_elements/column-table/column-table.component.html b/frontend/src/app/_elements/column-table/column-table.component.html index e6a781be..26770c41 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.html +++ b/frontend/src/app/_elements/column-table/column-table.component.html @@ -141,8 +141,8 @@ - - + + Enkodiranje  settings -- cgit v1.2.3 From 3b552e38b263cff042578ee866063dc19c1c3ea7 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Wed, 25 May 2022 00:33:30 +0200 Subject: Opcije Update i Save As za experiment. Napravljena dijalog komponenta. --- .../column-table/column-table.component.ts | 17 ++++-- .../update-experiment-dialog.component.css | 21 +++++++ .../update-experiment-dialog.component.html | 24 ++++++++ .../update-experiment-dialog.component.spec.ts | 25 ++++++++ .../update-experiment-dialog.component.ts | 68 ++++++++++++++++++++++ frontend/src/app/app.module.ts | 4 +- 6 files changed, 154 insertions(+), 5 deletions(-) create mode 100644 frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.css create mode 100644 frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.html create mode 100644 frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.spec.ts create mode 100644 frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts (limited to 'frontend/src/app/_elements/column-table') diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts index 4b10401d..41153353 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.ts +++ b/frontend/src/app/_elements/column-table/column-table.component.ts @@ -15,6 +15,7 @@ import Shared from 'src/app/Shared'; import { PieChartComponent } from '../_charts/pie-chart/pie-chart.component'; import { BoxPlotComponent } from '../_charts/box-plot/box-plot.component'; import { ActivatedRoute } from '@angular/router'; +import { UpdateExperimentDialogComponent } from 'src/app/_modals/update-experiment-dialog/update-experiment-dialog.component'; @Component({ selector: 'app-column-table', @@ -365,11 +366,19 @@ export class ColumnTableComponent implements AfterViewInit { } openUpdateExperimentDialog() { - this.experimentService.updateExperiment(this.experiment).subscribe((response) => { - Object.assign(this.experiment, response); - this.experiment._columnsSelected = true; + const dialogRef = this.dialog.open(UpdateExperimentDialogComponent, { + width: '350px', + data: { experiment: this.experiment } + }); + dialogRef.afterClosed().subscribe(experiment => { + if (experiment == undefined) + return; + if (this.experiment._id != experiment._id) + Shared.openDialog("Novi eksperiment", "Uspešno ste sačuvali novi eksperiment. Nastavite rad na njemu."); + else + Shared.openDialog("Izmena eksperimenta", "Uspešno ste izmenili podatke o eksperimentu."); + Object.assign(this.experiment, experiment); this.experimentChanged.emit(); - Shared.openDialog("Izmena eksperimenta", "Uspešno ste izmenili podatke o eksperimentu."); }); } diff --git a/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.css b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.css new file mode 100644 index 00000000..551a4e21 --- /dev/null +++ b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.css @@ -0,0 +1,21 @@ +#btnYes { + background-color: var(--offwhite); + color: var(--ns-bg-dark-100); +} + +#btnNo { + color: gray; +} + +.wrongInput { + color: var(--ns-warn); + font-size: 11px; +} + +::ng-deep.mat-dialog-content { + overflow: visible; +} + +.hidden-class { + opacity: 0; +} \ No newline at end of file diff --git a/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.html b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.html new file mode 100644 index 00000000..db44dfe1 --- /dev/null +++ b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.html @@ -0,0 +1,24 @@ +

Sačuvaj izmene

+
+
+ + + Izmeni postojeći eksperiment + + Sačuvaj kao novi eksperiment + +
+ + + +
+
+

Eskperiment sa unetim nazivom već postoji u kolekciji.
Izaberite drugi naziv.

+

Unesite naziv eksperimenta.

+
+
+
+
+ + +
\ No newline at end of file diff --git a/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.spec.ts b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.spec.ts new file mode 100644 index 00000000..e0f26b2c --- /dev/null +++ b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UpdateExperimentDialogComponent } from './update-experiment-dialog.component'; + +describe('UpdateExperimentDialogComponent', () => { + let component: UpdateExperimentDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ UpdateExperimentDialogComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(UpdateExperimentDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts new file mode 100644 index 00000000..068aa2ef --- /dev/null +++ b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts @@ -0,0 +1,68 @@ +import { Component, Inject, OnInit } from '@angular/core'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import Experiment from 'src/app/_data/Experiment'; +import { ExperimentsService } from 'src/app/_services/experiments.service'; + +interface DialogData { + experiment: Experiment; + selectedOption: number; +} + +@Component({ + selector: 'app-update-experiment-dialog', + templateUrl: './update-experiment-dialog.component.html', + styleUrls: ['./update-experiment-dialog.component.css'] +}) +export class UpdateExperimentDialogComponent implements OnInit { + + selectedOption: number = 1; + selectedName: string = ''; + wrongAlreadyExists: boolean = false; + wrongEmptyName: boolean = false; + + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: DialogData, private experimentService: ExperimentsService) { + this.wrongAlreadyExists = false; + this.wrongEmptyName = false; + } + + ngOnInit(): void { + } + + onNoClick() { + this.dialogRef.close(); + } + + saveWithEnterKey(keyboardEvent: KeyboardEvent) { + if (keyboardEvent.code == "Enter" || keyboardEvent.code == "NumpadEnter") + this.onYesClick(); + } + + onYesClick() { + if (this.selectedOption == 1) { //update + this.experimentService.updateExperiment(this.data.experiment).subscribe((response) => { + this.data.experiment = response; + this.dialogRef.close(this.data.experiment); + }); + } + else { //save new + if (this.selectedName == "") { + this.wrongEmptyName = true; + return; + } + this.wrongEmptyName = false; + + const newExperiment = new Experiment(); + Object.assign(newExperiment, this.data.experiment); + newExperiment.name = this.selectedName; + newExperiment._id = ''; + this.experimentService.addExperiment(newExperiment!).subscribe((response) => { + this.wrongAlreadyExists = false; + this.dialogRef.close(response); + }, (error) => { + if (error.error == "Experiment with this name exists") { + this.wrongAlreadyExists = true; + } + }); + } + } +} diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 89d53115..e2823761 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -22,6 +22,7 @@ import { YesNoDialogComponent } from './_modals/yes-no-dialog/yes-no-dialog.comp import { EncodingDialogComponent } from './_modals/encoding-dialog/encoding-dialog.component'; import { MissingvaluesDialogComponent } from './_modals/missingvalues-dialog/missingvalues-dialog.component'; import { SaveExperimentDialogComponent } from './_modals/save-experiment-dialog/save-experiment-dialog.component'; +import { UpdateExperimentDialogComponent } from './_modals/update-experiment-dialog/update-experiment-dialog.component'; // Pages import { HomeComponent } from './_pages/home/home.component'; import { ProfileComponent } from './_pages/profile/profile.component'; @@ -93,7 +94,8 @@ export function initializeApp(appConfig: Configuration) { MetricViewComponent, LineChartComponent, SaveExperimentDialogComponent, - SpinnerComponent + SpinnerComponent, + UpdateExperimentDialogComponent ], imports: [ BrowserModule, -- cgit v1.2.3 From 7f587b3feeeb3f59666176ec1cbcd8f450fe590d Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Wed, 25 May 2022 00:36:57 +0200 Subject: Dodata linija this.experiment._columnsSelected = true --- frontend/src/app/_elements/column-table/column-table.component.ts | 1 + 1 file changed, 1 insertion(+) (limited to 'frontend/src/app/_elements/column-table') diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts index 41153353..8398f7ef 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.ts +++ b/frontend/src/app/_elements/column-table/column-table.component.ts @@ -378,6 +378,7 @@ export class ColumnTableComponent implements AfterViewInit { else Shared.openDialog("Izmena eksperimenta", "Uspešno ste izmenili podatke o eksperimentu."); Object.assign(this.experiment, experiment); + this.experiment._columnsSelected = true; this.experimentChanged.emit(); }); } -- cgit v1.2.3 From c0be95d8a56896cdac1330c614ded3b8c17ba0da Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Wed, 25 May 2022 21:18:58 +0200 Subject: Ispravljen bag: Popunjavanje nedostajucih vrednosti - ako je numericki tip ne moze da se unese tekstualna vrednost vise, samo brojcana. --- .../_elements/column-table/column-table.component.html | 15 ++++++++------- .../app/_elements/column-table/column-table.component.ts | 11 ++++++++--- 2 files changed, 16 insertions(+), 10 deletions(-) (limited to 'frontend/src/app/_elements/column-table') diff --git a/frontend/src/app/_elements/column-table/column-table.component.html b/frontend/src/app/_elements/column-table/column-table.component.html index 26770c41..e970bfb4 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.html +++ b/frontend/src/app/_elements/column-table/column-table.component.html @@ -109,7 +109,7 @@

Kategorijski

- + Kategorijski Numerički @@ -180,12 +180,12 @@ - - - - + + + + - + @@ -195,7 +195,8 @@ - + + diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts index 8398f7ef..8d2875a5 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.ts +++ b/frontend/src/app/_elements/column-table/column-table.component.ts @@ -7,7 +7,7 @@ import { MatDialog } from '@angular/material/dialog'; import { MissingvaluesDialogComponent } from 'src/app/_modals/missingvalues-dialog/missingvalues-dialog.component'; import { MatCheckboxChange } from '@angular/material/checkbox'; import { CsvParseService } from 'src/app/_services/csv-parse.service'; -import { ProblemType } from 'src/app/_data/Model'; +import { NullValReplacer, ProblemType } from 'src/app/_data/Model'; import { ExperimentsService } from 'src/app/_services/experiments.service'; import { SaveExperimentDialogComponent } from 'src/app/_modals/save-experiment-dialog/save-experiment-dialog.component'; import { AlertDialogComponent } from 'src/app/_modals/alert-dialog/alert-dialog.component'; @@ -181,8 +181,13 @@ export class ColumnTableComponent implements AfterViewInit { this.columnTableChanged.emit(); } - columnTypeChanged(columnName: string) { - if (this.experiment.outputColumn == columnName) + columnTypeChanged(columnName: string, colIndex: number) { + + this.experiment.nullValuesReplacers[colIndex].option = NullValueOptions.DeleteRows; + this.experiment.nullValuesReplacers[colIndex].value = ""; + this.nullValOption[colIndex] = "Obriši redove (" + this.dataset?.columnInfo[colIndex].numNulls + ")"; + + if (this.experiment.outputColumn == columnName) this.changeProblemType(); else this.columnTableChangeDetected(); -- cgit v1.2.3 From 1a5b7cc3cc03e47c559f52528e075d314b804932 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Wed, 25 May 2022 23:45:21 +0200 Subject: Text-overflow postavljen svuda gde treba. --- .../column-table/column-table.component.html | 26 ++++++++++++++-------- .../src/app/_elements/folder/folder.component.css | 17 ++++++++++---- .../src/app/_elements/folder/folder.component.html | 14 ++++++------ 3 files changed, 37 insertions(+), 20 deletions(-) (limited to 'frontend/src/app/_elements/column-table') diff --git a/frontend/src/app/_elements/column-table/column-table.component.html b/frontend/src/app/_elements/column-table/column-table.component.html index e970bfb4..d5273d59 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.html +++ b/frontend/src/app/_elements/column-table/column-table.component.html @@ -27,7 +27,9 @@ #
- #{{i + 1}}  {{colInfo.columnName}} +
+ #{{i + 1}}  {{colInfo.columnName}} +
@@ -63,7 +65,9 @@ Kolona
- #{{i + 1}}  {{colInfo.columnName}} +
+ #{{i + 1}}  {{colInfo.columnName}} +
@@ -72,7 +76,7 @@ -
+
{{dataset.columnInfo[i].columnName}}
@@ -97,7 +101,9 @@ Naziv
- #{{i + 1}}  {{colInfo.columnName}} +
+ #{{i + 1}}  {{colInfo.columnName}} +
@@ -168,11 +174,13 @@
+
+
+ {{nullValOption[i]}} +
+ arrow_drop_down +
+ diff --git a/frontend/src/app/_elements/folder/folder.component.css b/frontend/src/app/_elements/folder/folder.component.css index 810ad05d..fe21e7b1 100644 --- a/frontend/src/app/_elements/folder/folder.component.css +++ b/frontend/src/app/_elements/folder/folder.component.css @@ -1,6 +1,5 @@ #folder { width: 100%; - } #tabs { @@ -186,10 +185,10 @@ .file-bottom-buttons { position: relative; position: relative; - top:-36px - + top: -36px } -.file-bottom-buttons-helper{ + +.file-bottom-buttons-helper { position: relative; display: flex; flex-direction: row-reverse; @@ -226,4 +225,14 @@ .highlight-exp { /*font-size: 16px;*/ font-weight: 700; +} + +.text-overflow { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.selected-file-tab { + max-width: 230px !important; } \ No newline at end of file diff --git a/frontend/src/app/_elements/folder/folder.component.html b/frontend/src/app/_elements/folder/folder.component.html index 54444e95..bf0bad10 100644 --- a/frontend/src/app/_elements/folder/folder.component.html +++ b/frontend/src/app/_elements/folder/folder.component.html @@ -13,8 +13,8 @@ {{tabTitles[tab]}}
-
@@ -105,7 +105,7 @@
-
+
@@ -152,17 +152,17 @@
- - -
+
- +
\ No newline at end of file -- cgit v1.2.3 From 542acf92fd69fea61afbef34f12cd6147f919bc8 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Sun, 5 Jun 2022 19:19:56 +0200 Subject: Ispravljeno da kod ucitavanje prediktora iz kolekcije bude lepo ucitan model. Disable-ovani dugmici za cuvanje dataseta i modela da se ne bi vise puta slao zahtev backu za cuvanje istog. Biranje drugog dataseta nakon izbora prvog (refresh). --- .../app/_elements/column-table/column-table.component.ts | 6 +++++- frontend/src/app/_elements/folder/folder.component.ts | 15 ++++++++++++++- .../app/_elements/form-dataset/form-dataset.component.ts | 1 + .../src/app/_pages/experiment/experiment.component.html | 2 +- .../src/app/_pages/experiment/experiment.component.ts | 11 +++++++---- 5 files changed, 28 insertions(+), 7 deletions(-) (limited to 'frontend/src/app/_elements/column-table') diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts index 8d2875a5..96818976 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.ts +++ b/frontend/src/app/_elements/column-table/column-table.component.ts @@ -88,6 +88,7 @@ export class ColumnTableComponent implements AfterViewInit { if (this.route.snapshot.paramMap.get("id") == null && this.route.snapshot.paramMap.get("predictorId") == null) { this.dataset = dataset; this.setColumnTypeInitial(); + this.resetColumnEncodings(Encoding.Label); this.columnsChecked = []; this.dataset.columnInfo.forEach(column => { @@ -96,7 +97,6 @@ export class ColumnTableComponent implements AfterViewInit { this.resetInputColumns(); this.resetOutputColumn(); - this.resetColumnEncodings(Encoding.Label); this.setDeleteRowsForMissingValTreatment(); this.nullValOption = []; @@ -258,9 +258,11 @@ export class ColumnTableComponent implements AfterViewInit { resetColumnEncodings(encodingType: Encoding) { if (this.experiment != undefined && this.dataset != undefined) { this.experiment.encodings = []; + console.log("prvi: RESET COLUMN ENC, DUZINA ENCODINGS NIZA:", this.experiment.encodings.length); for (let i = 0; i < this.dataset.columnInfo.length; i++) { this.experiment.encodings.push(new ColumnEncoding(this.dataset?.columnInfo[i].columnName, encodingType)); } + console.log("drugi: RESET COLUMN ENC, DUZINA ENCODINGS NIZA:", this.experiment.encodings.length); this.columnTableChangeDetected(); } } @@ -366,6 +368,7 @@ export class ColumnTableComponent implements AfterViewInit { Object.assign(this.experiment, experiment); this.experiment._columnsSelected = true; this.experimentChanged.emit(); + this.okPressed.emit(); } }); } @@ -385,6 +388,7 @@ export class ColumnTableComponent implements AfterViewInit { Object.assign(this.experiment, experiment); this.experiment._columnsSelected = true; this.experimentChanged.emit(); + this.okPressed.emit(); }); } diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts index fc3b98b2..60f6857c 100644 --- a/frontend/src/app/_elements/folder/folder.component.ts +++ b/frontend/src/app/_elements/folder/folder.component.ts @@ -62,6 +62,8 @@ export class FolderComponent implements AfterViewInit { if (this.type == FolderType.Dataset) { this.refreshFiles(dId); } + this.saveDisabled = false; + console.log("Notify dataset ", this.saveDisabled); }); } else { console.warn("Dataset-Load: No connection!"); @@ -140,6 +142,9 @@ export class FolderComponent implements AfterViewInit { createNewFile() { if (this.type == FolderType.Dataset) { this.newFile = new Dataset(); + this.formNewDataset.files = []; + this.formNewDataset.firstInput = false; + this.formNewDataset.filename = ""; } else if (this.type == FolderType.Model) { this.newFile = new Model(); } @@ -251,6 +256,11 @@ export class FolderComponent implements AfterViewInit { } saveNewFile() { + console.log("USAO U saveDisabled: ", this.saveDisabled); + if (this.saveDisabled) { + console.log("USAO U IF"); + return; + } this.saveDisabled = true; this.loadingAction = true; switch (this.type) { @@ -261,9 +271,11 @@ export class FolderComponent implements AfterViewInit { this.okPressed.emit(); //Shared.openDialog("Obaveštenje", "Uspešno ste dodali novi izvor podataka u kolekciju. Molimo sačekajte par trenutaka da se obradi."); this.refreshFiles(); + this.createNewFile(); }, () => { Shared.openDialog("Neuspeo pokušaj!", "Izvor podataka sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeći dataset."); + this.saveDisabled = false; }); break; case FolderType.Model: @@ -273,12 +285,13 @@ export class FolderComponent implements AfterViewInit { this.loadingAction = false; //Shared.openDialog("Obaveštenje", "Uspešno ste dodali novu konfiguraciju neuronske mreže u kolekciju."); this.refreshFiles(null, model._id); // todo select model + this.createNewFile(); }, (err) => { Shared.openDialog("Neuspeo pokušaj!", "Konfiguracija neuronske mreže sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeću konfiguraciju."); + this.saveDisabled = false; }); break; } - this.saveDisabled = false; } predictorsForExp: { [expId: string]: Predictor[] } = {} diff --git a/frontend/src/app/_elements/form-dataset/form-dataset.component.ts b/frontend/src/app/_elements/form-dataset/form-dataset.component.ts index 8714ae7f..3df76aa5 100644 --- a/frontend/src/app/_elements/form-dataset/form-dataset.component.ts +++ b/frontend/src/app/_elements/form-dataset/form-dataset.component.ts @@ -155,6 +155,7 @@ export class FormDatasetComponent { uploadDataset(onSuccess: Function = (dataset: Dataset) => { }, onError: Function = () => { }) { if (this.files[0] == undefined) { shared.openDialog("Greška", "Niste izabrali fajl za učitavanje."); + onError(); return; } diff --git a/frontend/src/app/_pages/experiment/experiment.component.html b/frontend/src/app/_pages/experiment/experiment.component.html index a0ed26ef..6bd921fd 100644 --- a/frontend/src/app/_pages/experiment/experiment.component.html +++ b/frontend/src/app/_pages/experiment/experiment.component.html @@ -57,7 +57,7 @@
- +
diff --git a/frontend/src/app/_pages/experiment/experiment.component.ts b/frontend/src/app/_pages/experiment/experiment.component.ts index 5822eedf..20a3afb0 100644 --- a/frontend/src/app/_pages/experiment/experiment.component.ts +++ b/frontend/src/app/_pages/experiment/experiment.component.ts @@ -171,11 +171,13 @@ export class ExperimentComponent implements AfterViewInit { this.modelsService.getModelById(predictor.modelId).subscribe((response) => { let model = response; - this.folderModel.formModel.newModel = model; + this.folderModel.selectFile(model); + //this.folderModel.formModel.newModel = model; this.step3 = true; let numOfEpochsArray = Array.from({ length: model.epochs }, (_, i) => i + 1); setTimeout(() => { this.linechartComponent.update(numOfEpochsArray, predictor.metricsAcc, predictor.metricsLoss, predictor.metricsMae, predictor.metricsMse, predictor.metricsValAcc, predictor.metricsValLoss, predictor.metricsValMae, predictor.metricsValMse); + this.goToPage(3); }) }); }); @@ -189,6 +191,7 @@ export class ExperimentComponent implements AfterViewInit { this.dataset = response; this.folderDataset.forExperiment = this.experiment; this.folderDataset.selectFile(this.dataset); + this.goToPage(1); }); }); } @@ -258,6 +261,9 @@ export class ExperimentComponent implements AfterViewInit { this.step2 = true; setTimeout(() => { this.folderModel.updateExperiment(); + this.folderModel.selectFile(undefined); + this.folderModel.selectTab(TabType.NewFile); + this.goToPage(2); }); } @@ -276,9 +282,6 @@ export class ExperimentComponent implements AfterViewInit { setTimeout(() => { this.columnTable.loadDataset(d); }); - - this.folderModel.selectFile(undefined); - this.folderModel.selectTab(TabType.NewFile); // REFRESH GRAFIKA (4. KORAKA) URADITI } -- cgit v1.2.3 From 0b356a0892d9630d5eaf325f3ef5b1b087500141 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 6 Jun 2022 05:22:28 +0200 Subject: Ispravke. --- .../_elements/column-table/column-table.component.html | 2 +- frontend/src/app/_elements/folder/folder.component.ts | 3 ++- .../src/app/_pages/experiment/experiment.component.html | 4 ++-- .../src/app/_pages/experiment/experiment.component.ts | 17 ++++++++++++----- .../src/app/_pages/page-model/page-model.component.html | 4 +++- .../src/app/_pages/page-model/page-model.component.ts | 14 +++++++------- 6 files changed, 27 insertions(+), 17 deletions(-) (limited to 'frontend/src/app/_elements/column-table') diff --git a/frontend/src/app/_elements/column-table/column-table.component.html b/frontend/src/app/_elements/column-table/column-table.component.html index d5273d59..27e0f3bf 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.html +++ b/frontend/src/app/_elements/column-table/column-table.component.html @@ -147,7 +147,7 @@
- + Enkodiranje  settings diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts index 418b5a7f..9dfabdb3 100644 --- a/frontend/src/app/_elements/folder/folder.component.ts +++ b/frontend/src/app/_elements/folder/folder.component.ts @@ -63,6 +63,7 @@ export class FolderComponent implements AfterViewInit { this.signalRService.hubConnection.on("NotifyDataset", (dName: string, dId: string) => { if (this.type == FolderType.Dataset) { this.refreshFiles(dId); + this.okPressed.emit(); } this.saveDisabled = false; console.log("Notify dataset ", this.saveDisabled); @@ -298,7 +299,7 @@ export class FolderComponent implements AfterViewInit { this.formNewDataset!.uploadDataset((dataset: Dataset) => { this.newFile = undefined; this.loadingAction = false; - this.okPressed.emit(); + //this.okPressed.emit(); //Shared.openDialog("Obaveštenje", "Uspešno ste dodali novi izvor podataka u kolekciju. Molimo sačekajte par trenutaka da se obradi."); this.refreshFiles(); this.createNewFile(); diff --git a/frontend/src/app/_pages/experiment/experiment.component.html b/frontend/src/app/_pages/experiment/experiment.component.html index 6bd921fd..3176f58c 100644 --- a/frontend/src/app/_pages/experiment/experiment.component.html +++ b/frontend/src/app/_pages/experiment/experiment.component.html @@ -67,8 +67,8 @@
- - +
diff --git a/frontend/src/app/_pages/experiment/experiment.component.ts b/frontend/src/app/_pages/experiment/experiment.component.ts index 20a3afb0..e4d444b2 100644 --- a/frontend/src/app/_pages/experiment/experiment.component.ts +++ b/frontend/src/app/_pages/experiment/experiment.component.ts @@ -75,7 +75,10 @@ export class ExperimentComponent implements AfterViewInit { Shared.openDialog('Greška', 'Morate odabrati konfiguraciju neuronske mreže'); } else { this.modelsService.trainModel(this.modelToTrain._id, this.experiment._id).subscribe(() => { console.log("pocelo treniranje") }); - this.step4 = true; + this.step3 = true; + setTimeout(() => { + this.goToPage(3); + }); } } @@ -84,7 +87,10 @@ export class ExperimentComponent implements AfterViewInit { Shared.openDialog('Greška', 'Morate odabrati konfiguraciju neuronske mreže'); } else { this.modelsService.trainModel(this.modelToTrainCmp._id, this.experiment._id).subscribe(() => { console.log("pocelo treniranje") }); - this.step4 = true; + this.step3 = true; + setTimeout(() => { + this.goToPage(3); + }); } } @@ -268,10 +274,11 @@ export class ExperimentComponent implements AfterViewInit { } setDataset(dataset: FolderFile | null) { - if (dataset == null) { + if (dataset == null ||dataset==undefined) { this.columnTable.loaded = false; this.dataset = undefined; this.experiment.datasetId = ''; + this.step1=false; return; } const d = dataset; @@ -291,12 +298,12 @@ export class ExperimentComponent implements AfterViewInit { setModel(model: FolderFile) { const m = model; this.modelToTrain = m; - this.step3 = true; + //this.step3 = true; } setModelCmp(model: FolderFile) { const m = model; this.modelToTrainCmp = m; - this.step3 = true; + //this.step3 = true; } } diff --git a/frontend/src/app/_pages/page-model/page-model.component.html b/frontend/src/app/_pages/page-model/page-model.component.html index e494542f..0ac8aaae 100644 --- a/frontend/src/app/_pages/page-model/page-model.component.html +++ b/frontend/src/app/_pages/page-model/page-model.component.html @@ -1,4 +1,6 @@
- +
+ {{JSON.stringify(model)}} +
\ No newline at end of file diff --git a/frontend/src/app/_pages/page-model/page-model.component.ts b/frontend/src/app/_pages/page-model/page-model.component.ts index f988ef0d..0ccd0f9a 100644 --- a/frontend/src/app/_pages/page-model/page-model.component.ts +++ b/frontend/src/app/_pages/page-model/page-model.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import Shared from 'src/app/Shared'; +import Experiment from 'src/app/_data/Experiment'; 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'; @@ -12,16 +13,14 @@ import { ModelsService } from 'src/app/_services/models.service'; }) export class PageModelComponent implements OnInit { - @ViewChild(FormModelComponent) formModel!: FormModelComponent; - constructor(private route: ActivatedRoute, private router: Router, private modelsService: ModelsService) { } - + model!:Model; 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; + this.model = model; }); } else { this.router.navigate(['']); @@ -30,12 +29,13 @@ export class PageModelComponent implements OnInit { } import() { - this.formModel.newModel._id = ""; - this.formModel.newModel.isPublic = false; - this.modelsService.stealModel(this.formModel.newModel).subscribe((response) => { + this.model._id = ""; + this.model.isPublic = false; + this.modelsService.stealModel(this.model).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."); }); } + JSON=JSON; } -- cgit v1.2.3