blob: c89b1617cadaf4a9e304e0f21a7b03fdfd8fe128 (
plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
import { Attribute, DataType, VisualizationHint } from '../../model/idea/idea';
import { BaseObject } from '../BaseObject';
import { observable } from "mobx";
export abstract class AttributeModel extends BaseObject {
public abstract get DisplayName(): string;
public abstract get CodeName(): string;
public abstract get DataType(): DataType;
public abstract get VisualizationHints(): VisualizationHint[];
}
export class ColumnAttributeModel extends AttributeModel {
public Attribute: Attribute;
constructor(attribute: Attribute) {
super();
this.Attribute = attribute;
}
public get DataType(): DataType {
return this.Attribute.dataType ? this.Attribute.dataType : DataType.Undefined;
}
public get DisplayName(): string {
return this.Attribute.displayName ? this.Attribute.displayName.ReplaceAll("_", " ") : "";
}
public get CodeName(): string {
return this.Attribute.rawName ? this.Attribute.rawName : "";
}
public get VisualizationHints(): VisualizationHint[] {
return this.Attribute.visualizationHints ? this.Attribute.visualizationHints : [];
}
public Equals(other: ColumnAttributeModel): boolean {
return this.Attribute.rawName === other.Attribute.rawName;
}
}
export class CodeAttributeModel extends AttributeModel {
private _visualizationHints: VisualizationHint[];
public CodeName: string;
@observable
public Code: string;
constructor(code: string, codeName: string, displayName: string, visualizationHints: VisualizationHint[]) {
super();
this.Code = code;
this.CodeName = codeName;
this.DisplayName = displayName;
this._visualizationHints = visualizationHints;
}
public get DataType(): DataType {
return DataType.Undefined;
}
@observable
public DisplayName: string;
public get VisualizationHints(): VisualizationHint[] {
return this._visualizationHints;
}
public Equals(other: CodeAttributeModel): boolean {
return this.CodeName === other.CodeName;
}
}
export class BackendAttributeModel extends AttributeModel {
private _dataType: DataType;
private _displayName: string;
private _codeName: string;
private _visualizationHints: VisualizationHint[];
public Id: string;
constructor(id: string, dataType: DataType, displayName: string, codeName: string, visualizationHints: VisualizationHint[]) {
super();
this.Id = id;
this._dataType = dataType;
this._displayName = displayName;
this._codeName = codeName;
this._visualizationHints = visualizationHints;
}
public get DataType(): DataType {
return this._dataType;
}
public get DisplayName(): string {
return this._displayName.ReplaceAll("_", " ");
}
public get CodeName(): string {
return this._codeName;
}
public get VisualizationHints(): VisualizationHint[] {
return this._visualizationHints;
}
public Equals(other: BackendAttributeModel): boolean {
return this.Id === other.Id;
}
}
|