semantics_roles.js
3.85 KB
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
var roles_display_table = ""; // roles table in html form
var roles_display_table_full = ""; // with lemma role
var role_name = []; // displayed names of roles
var role_color = []; // colors assigned to roles
function rolesToHtml(roles_display, full){
var i, j, k, table;
table = '<table border="1" style="font-size: 11px">';
for (i = 0; i < roles_display.length; i++) {
table += '<tr>';
for (j = 0; j < roles_display[i].length; j++) {
table += '<td rowspan="';
table += roles_display[i][j].rowspan;
table += '" colspan="';
table += roles_display[i][j].colspan;
table += '">';
if (roles_display[i][j].caption != "None") {
table += "<b>"
table += roles_display[i][j].caption;
table += "</b>"
}
for (k = 0; k < roles_display[i][j].roles.length; k++) {
table += '<div style=';
if (roles_display[i][j].roles[k].color != 'None') {
table += '"background-color: rgb(' + roles_display[i][j].roles[k].color + ')';
} else {
table += '"background: linear-gradient(to ' + roles_display[i][j].roles[k].gradient + ', rgba(100,100,100,0.1), rgba(100,100,100,1))';
}
table += '"><input type="checkbox" name="roles" value="';
table += roles_display[i][j].roles[k].id;
table += '"><label>';
table += roles_display[i][j].roles[k].rolename;
table += '</label></div>';
if (full) {
role_name[roles_display[i][j].roles[k].id] = roles_display[i][j].roles[k].rolename;
role_color[roles_display[i][j].roles[k].id] = {"color": roles_display[i][j].roles[k].color, "gradient": roles_display[i][j].roles[k].gradient};
}
}
table += '</td>';
}
table += '</tr>';
}
table += '</table>';
return table;
}
function isLemma(roles) {
if (roles.length != 1) {
return false;
}
return (role_name[roles[0]] == 'Lemma');
}
function memorizeRoles(roles_display, roles_full){
roles_display_table = rolesToHtml(roles_display, false);
roles_display_table_full = rolesToHtml(roles_full, true);
}
function getStyle(frame_id, complement_num) {
style_type = "";
style_color = "";
style_value = "";
var roles = frame_content[parseInt(frame_id)].display.roles[complement_num].argument;
var i;
for (i = 0; i < roles.length; i++) {
var color = role_color[roles[i]];
if (color.gradient != "None") {
// Safari browser only
if(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
style_type = "-webkit-linear-gradient(" + color.gradient + ", ";
}
else {
style_type = "linear-gradient(to " + color.gradient + ", ";
}
} else {
style_color = color.color
}
}
if (style_type == "") {
style_type = "background-color";
style_value = "rgb(" + style_color + ")";
} else {
// Safari browser only
if(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
style_value = style_type + "rgba(" + style_color + ",1), rgba(" + style_color + ",0.1))";
}
else {
style_value = style_type + "rgba(" + style_color + ",0.1), rgba(" + style_color + ",1))";
}
style_type = "background";
}
return {"type": style_type, "value": style_value};
}
function isPOL(frame_id, complement_num) {
var roles = frame_content[parseInt(frame_id)].display.roles[complement_num].argument;
if (roles.length != 1) {
return false;
}
if (role_name[roles[0]] == 'Lemma') {
return true;
} else {
return false;
}
}