-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhighlight.js
113 lines (97 loc) · 3.59 KB
/
highlight.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
"use strict";
var highlight_all = require('./highlight_all');
var add_highlight_all = highlight_all.add_highlight_all;
var get_all_async_soruces = require('./get_all_async_soruces');
var add_highlight = function(d){
var __fake= ['__fake',[{
'begin':1,
'end':1,
'internalId':'fake_0',
'type': 'region'
}]];
d.push(__fake);
};
var setup_highlight = function(fv){
fv.__highlight = function(e){
if(!e['begin'] || !e['end']){
return;
}
fv.data.forEach(function(i){
if(i[0]=="__fake"){
i[1][0]['begin']=e['begin'];
i[1][0]['end']=e['end'];
}
});
var fake_click = new MouseEvent("click");
if (fv.selectedFeature && fv.selectedFeature.internalId == "fake_0"){
if( document.getElementsByName("fake_0").lentgh>0){
document.getElementsByName("fake_0")[0].dispatchEvent(fake_click);
}else if( $j("[name=fake_0]").get(0) ){
$j("[name=fake_0]").get(0).dispatchEvent(fake_click);
}
}
if( document.getElementsByName("fake_0").lentgh>0){
document.getElementsByName("fake_0")[0].dispatchEvent(fake_click);
document.getElementsByName("fake_0")[0].style.fill = e['color'];
}else if( $j("[name=fake_0]").get(0) ){
$j("[name=fake_0]").css("fill",e['color']);
$j("[name=fake_0]").get(0).dispatchEvent(fake_click);
}
//instance.highlightRegion(e['begin'],e['end'])
}
fv.getDispatcher().on("ready", function(obj) {
__hide_fake();
$j('#loading').css('display','none');
variant_menu();
add_highlight_all();
if(obj == "load_ready"){
setTimeout(function(){ check_global_selection(); }, 600);
if(extend_features_flag) setTimeout(function(){ get_all_async_soruces(); }, 300);
if(feature_analysis_flag) setTimeout(function(){ get_features_analysis(); }, 300);
}
});
};
function __hide_fake(){
var aTags = document.getElementsByTagName("a");
var searchText = "__fake";
var found;
for (var i=0;i<aTags.length;i++) {
if (aTags[i].title == searchText) {
found = aTags[i];
break;
}
}
if( found != undefined ) found.parentNode.style.display = "none";
var classDOM = document.getElementsByClassName("up_pftv_buttons");
var observer = new MutationObserver(__hide_eye);
observer.observe(classDOM[0],{childList:true});
}
function __hide_eye(a,b,c) {
var aTags = a[0]['target'].getElementsByTagName("label");
var searchText = "__fake";
var found;
for (var i=0;i<aTags.length;i++) {
if (aTags[i].innerHTML == searchText) {
found = aTags[i];
break;
}
}
if( found != undefined ) found.parentNode.style.display = "none";
}
var check_coordinates = function(){
var left_css = parseFloat($j(".up_pftv_tooltip-container").css('left'));
if (left_css > 300)$j(".up_pftv_tooltip-container").css('left','300px');
var tooltip_height = parseFloat($j(".up_pftv_tooltip-container").height())+6+2;
var frame_x = parseFloat( $j(".up_pftv_tooltip-container").parent().offset().top );
var top_css = parseFloat($j(".up_pftv_tooltip-container").css('top'));
var tooltip_x = frame_x + top_css + tooltip_height;
var scroll_x = parseFloat( $j(window).scrollTop() );
var screen_height = parseFloat( document.body.clientHeight );
var screen_x = scroll_x + screen_height;
var delta = tooltip_x - screen_x;
if( delta > 0 ){
top_css -= delta;
$j(".up_pftv_tooltip-container").css('top', top_css+'px');
}
}
module.exports = {add_highlight:add_highlight, setup_highlight:setup_highlight, check_coordinates:check_coordinates};