aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_data/Dataset.ts
blob: 7ae5c4ab9cd62689d602d25b1e2a9b61b7dd4717 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import { FolderFile } from "./FolderFile";

export default class Dataset extends FolderFile {
    _id: string = '';
    constructor(
        name: string = 'Novi izvor podataka',
        public description: string = '',
        public fileId?: number,
        public extension: string = '.csv',
        public isPublic: boolean = false,
        public accessibleByLink: boolean = false,
        dateCreated: Date = new Date(),
        lastUpdated: Date = new Date(),
        public uploaderId: string = '',
        public delimiter: string = ',',

        public columnInfo: ColumnInfo[] = [],
        public rowCount: number = 0,
        public nullRows: number = 0,
        public nullCols: number = 0,
        public preview: string[][] = [[]]
    ) {
        super(name, dateCreated, lastUpdated);
    }
}

export class ColumnInfo {
    constructor(
        public columnName: string = '',
        public columnType: ColumnType,
        public isNumber: boolean = false,
        public numNulls: number = 0,
        public uniqueValues?: string[],
        public uniqueValuesCount?: number[],
        public uniqueValuesPercent?: number[],
        public median?: number,
        public mean?: number,
        public min?: number,
        public max?: number,
        public q1?: number,
        public q3?: number,
    ) { 
        /*if (isNumber)
            this.columnType = ColumnType.numerical;
        else 
            this.columnType = ColumnType.categorical;*/
    }
        
}

export enum ColumnType {
    categorical = "Kategorijski",
    numerical = "Numerički"
}