From 3e07b3304b65fcab6740a05231999dfc453ffbb9 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Mon, 25 Apr 2022 22:17:45 +0200 Subject: Column-table komponenta: prikazani i povezani naziv kolone, tip, grafik, statistika, enkoding i pocete nedostajuce vrednosti. Uradjene popup dialog komponente za encoding i missingvalues. --- .../encoding-dialog/encoding-dialog.component.css | 0 .../encoding-dialog/encoding-dialog.component.html | 16 +++++++++++++ .../encoding-dialog.component.spec.ts | 25 +++++++++++++++++++ .../encoding-dialog/encoding-dialog.component.ts | 28 ++++++++++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.css create mode 100644 frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.html create mode 100644 frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.spec.ts create mode 100644 frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.ts (limited to 'frontend/src/app/_modals/encoding-dialog') diff --git a/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.css b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.html b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.html new file mode 100644 index 00000000..8898a4e4 --- /dev/null +++ b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.html @@ -0,0 +1,16 @@ +

Enkodiranje svih kolona

+
+

Odaberite tip enkodinga za sve kolone zajedno:

+ +

Da li ste sigurni u izbor?

+
+
+ + +
\ No newline at end of file diff --git a/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.spec.ts b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.spec.ts new file mode 100644 index 00000000..77f30ae3 --- /dev/null +++ b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EncodingDialogComponent } from './encoding-dialog.component'; + +describe('EncodingDialogComponent', () => { + let component: EncodingDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ EncodingDialogComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(EncodingDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.ts b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.ts new file mode 100644 index 00000000..3b7560bf --- /dev/null +++ b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.ts @@ -0,0 +1,28 @@ +import { Component, OnInit } from '@angular/core'; +import { MatDialogRef } from '@angular/material/dialog'; +import { Encoding } from 'src/app/_data/Experiment'; + + +@Component({ + selector: 'app-encoding-dialog', + templateUrl: './encoding-dialog.component.html', + styleUrls: ['./encoding-dialog.component.css'] +}) +export class EncodingDialogComponent implements OnInit { + + selectedEncodingType?: Encoding; + Encoding = Encoding; + Object = Object; + + constructor(public dialogRef: MatDialogRef) + { + this.selectedEncodingType = Encoding.Label; + } + + ngOnInit(): void { + } + + onNoClick() { + this.dialogRef.close(); + } +} -- cgit v1.2.3 From 25ac2c1b92de81de521897089f7d3dd14c52e657 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Tue, 26 Apr 2022 16:58:23 +0200 Subject: Column-table komponenta: zavrseno regulisanje nedostajucih vrednosti (padajuce liste). Promenjeni stilovi svih inputa (material design). --- .../column-table/column-table.component.html | 65 +++++++++++----------- .../column-table/column-table.component.ts | 65 +++++++++++++++++----- .../encoding-dialog/encoding-dialog.component.html | 14 ++--- 3 files changed, 90 insertions(+), 54 deletions(-) (limited to 'frontend/src/app/_modals/encoding-dialog') 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 62699284..e6d9442c 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.html +++ b/frontend/src/app/_elements/column-table/column-table.component.html @@ -4,7 +4,7 @@ Naziv #{{i + 1}}  {{colInfo.columnName}} - + @@ -13,19 +13,19 @@ Tip - + + Kategorijski + Numerički + Grafik - + - + @@ -42,7 +42,7 @@ --> - + {{uniqueValue}}
@@ -54,13 +54,11 @@ - + + @@ -69,35 +67,34 @@ settings - - - - - + + + + + + + + + + + + + + + + - + + + 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 18e38203..603de591 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.ts +++ b/frontend/src/app/_elements/column-table/column-table.component.ts @@ -5,6 +5,8 @@ import { DatasetsService } from 'src/app/_services/datasets.service'; import { EncodingDialogComponent } from 'src/app/_modals/encoding-dialog/encoding-dialog.component'; import { MatDialog } from '@angular/material/dialog'; import { MissingvaluesDialogComponent } from 'src/app/_modals/missingvalues-dialog/missingvalues-dialog.component'; +import { MatCheckboxChange } from '@angular/material/checkbox'; +import { MatMenuItem, MatMenuTrigger } from '@angular/material/menu'; @Component({ selector: 'app-column-table', @@ -36,9 +38,9 @@ export class ColumnTableComponent implements OnInit { ngOnInit(): void { } - changeInputColumns(target: any, columnName: string) { + changeInputColumns(targetMatCheckbox: MatCheckboxChange, columnName: string) { if (this.experiment != undefined) { - if (target.currentTarget.checked) { + if (targetMatCheckbox.checked) { if (this.experiment.inputColumns.filter(x => x == columnName)[0] == undefined) { this.experiment.inputColumns.push(columnName); } @@ -51,17 +53,6 @@ export class ColumnTableComponent implements OnInit { } } - changeColumnType(target: any, indexOfCol: number) { - if (this.dataset != undefined) { - if (target.currentTarget.value == "Numerički") { - this.dataset.columnInfo[indexOfCol].isNumber = true; - } - else { - this.dataset.columnInfo[indexOfCol].isNumber = false; - } - } - } - resetColumnEncodings(encodingType: Encoding) { if (this.experiment != undefined && this.dataset != undefined) { this.experiment.encodings = []; @@ -118,4 +109,52 @@ export class ColumnTableComponent implements OnInit { this.resetMissingValuesTreatment(selectedMissingValuesOption); }); } + + MissValsDeleteClicked(event: Event, replacementType: NullValueOptions) { + if (this.experiment != undefined) { + let columnName = (event.currentTarget).value; + let arrayElement = this.experiment.nullValuesReplacers.filter(x => x.column == columnName)[0]; + + if (arrayElement == undefined) { + this.experiment.nullValuesReplacers.push({ + column: columnName, + option: (replacementType == NullValueOptions.DeleteColumns) ? NullValueOptions.DeleteColumns : NullValueOptions.DeleteRows, + value: "" + }); + } + else { + arrayElement.option = (replacementType == NullValueOptions.DeleteColumns) ? NullValueOptions.DeleteColumns : NullValueOptions.DeleteRows; + arrayElement.value = ""; + } + + (document.getElementById("main_" + columnName)).textContent = (replacementType == NullValueOptions.DeleteColumns) ? "Obriši kolonu" : "Obriši redove"; + } + } + + MissValsReplaceClicked(event: Event, columnName: string) { + if (this.experiment != undefined) { + let fillValue = (event.currentTarget).value; + let arrayElement = this.experiment.nullValuesReplacers.filter(x => x.column == columnName)[0]; + + if (arrayElement == undefined) { + this.experiment.nullValuesReplacers.push({ + column: columnName, + option: NullValueOptions.Replace, + value: fillValue + }); + } + else { + arrayElement.option = NullValueOptions.Replace; + arrayElement.value = fillValue; + } + + (document.getElementById("main_" + columnName)).textContent = "Popuni sa: " + fillValue; + } + } + getValue(columnName: string): string { + if (document.getElementById(columnName) != undefined) + return (document.getElementById(columnName)).value; + return '0'; + } + } diff --git a/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.html b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.html index 8898a4e4..7ba286cb 100644 --- a/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.html +++ b/frontend/src/app/_modals/encoding-dialog/encoding-dialog.component.html @@ -1,13 +1,13 @@

Enkodiranje svih kolona

Odaberite tip enkodinga za sve kolone zajedno:

- + + + + {{ optionName }} + + +

Da li ste sigurni u izbor?

-- cgit v1.2.3