-
Notifications
You must be signed in to change notification settings - Fork 0
/
TableGenerator.js
136 lines (112 loc) · 4.46 KB
/
TableGenerator.js
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
export const FRECUENCY_TABLE_NAME = "frecuency-table";
export const DESCRIPTOR_TABLE_NAME = "descriptor-table";
export const DESCRIPTOR_ID_TABLE_NAME = "descriptor-id-table";
export function showDescriptorTable(obj) {
const data = obj.orderedDescriptorList;
const typified = obj.typifiedDescriptorList;
addTitle("Tabla de descriptores", Object.keys(data).length);
const body = document.getElementsByTagName("body")[0];
const table = document.createElement("table");
table.id = DESCRIPTOR_TABLE_NAME;
const tableBody = document.createElement("tbody");
const rowHeader = document.createElement("tr");
const columnNames = ["Id", "Label"];
columnNames.forEach((columnName) => {
const cell = document.createElement("td");
const cellText = document.createTextNode(columnName);
cell.appendChild(cellText);
rowHeader.appendChild(cell);
});
tableBody.appendChild(rowHeader);
// let id = 0;
data.forEach((value) => {
const row = document.createElement("tr");
// id++;
columnNames.forEach((columnName) => {
const cell = document.createElement("td");
const cellText =
columnName === "Id" ?
document.createTextNode(typified[value]) :
document.createTextNode(value);
cell.appendChild(cellText);
row.appendChild(cell);
});
tableBody.appendChild(row);
});
table.appendChild(tableBody);
body.appendChild(table);
table.setAttribute("border", "2");
}
export function showFrequencyTable(data) {
addTitle("Tabla de frecuencias de relaciones", Object.keys(data).length);
const body = document.getElementsByTagName("body")[0];
const table = document.createElement("table");
table.id = FRECUENCY_TABLE_NAME;
const tableBody = document.createElement("tbody");
const rowHeader = document.createElement("tr");
const columnNames = ["Source", "Target", "Weight", "Label", "Type"];
columnNames.forEach((columnName) => {
const cell = document.createElement("td");
const cellText = document.createTextNode(columnName);
cell.appendChild(cellText);
rowHeader.appendChild(cell);
});
tableBody.appendChild(rowHeader);
Object.keys(data).forEach((key) => {
const row = document.createElement("tr");
columnNames.forEach((columnName) => {
const cell = document.createElement("td");
const cellText = document.createTextNode(
data[key][columnName.toLowerCase()]
);
cell.appendChild(cellText);
row.appendChild(cell);
});
tableBody.appendChild(row);
});
table.appendChild(tableBody);
body.appendChild(table);
table.setAttribute("border", "2");
}
export function showFrequencyTableWithId(data, typifiedDescriptorList) {
addTitle(
"Tabla de frecuencias de relaciones con IDs",
Object.keys(data).length
);
const body = document.getElementsByTagName("body")[0];
const table = document.createElement("table");
table.id = DESCRIPTOR_ID_TABLE_NAME;
const tableBody = document.createElement("tbody");
const rowHeader = document.createElement("tr");
const columnNames = ["Source", "Target", "Weight", "Label", "Type"];
columnNames.forEach((columnName) => {
const cell = document.createElement("td");
const cellText = document.createTextNode(columnName);
cell.appendChild(cellText);
rowHeader.appendChild(cell);
});
tableBody.appendChild(rowHeader);
Object.keys(data).forEach((key) => {
const row = document.createElement("tr");
columnNames.forEach((columnName) => {
const cell = document.createElement("td");
const value = data[key][columnName.toLowerCase()];
const cellText = document.createTextNode(
columnName === "Source" || columnName === "Target" ?
typifiedDescriptorList[value] :
value
);
cell.appendChild(cellText);
row.appendChild(cell);
});
tableBody.appendChild(row);
});
table.appendChild(tableBody);
body.appendChild(table);
table.setAttribute("border", "2");
}
function addTitle(title, total) {
const tableTitle = document.createElement("h2");
tableTitle.innerHTML = `<h2>${title} <font color="green">${total}</font></h2>`;
document.body.appendChild(tableTitle);
}