mirror of https://github.com/MISP/misp-dashboard
feature: Added a tooltip in trendings' timeline + open a MISP tab on double click
parent
70bddb359a
commit
3ae2882e97
|
@ -218,9 +218,11 @@ def trendings():
|
||||||
maxNum = int(maxNum)
|
maxNum = int(maxNum)
|
||||||
except:
|
except:
|
||||||
maxNum = 15
|
maxNum = 15
|
||||||
|
url_misp_event = cfg.get('RedisGlobal', 'misp_web_url')
|
||||||
|
|
||||||
return render_template('trendings.html',
|
return render_template('trendings.html',
|
||||||
maxNum=maxNum
|
maxNum=maxNum,
|
||||||
|
url_misp_event=url_misp_event
|
||||||
)
|
)
|
||||||
|
|
||||||
''' INDEX '''
|
''' INDEX '''
|
||||||
|
|
|
@ -416,10 +416,11 @@ function updateDisc() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var items_timeline = [];
|
||||||
function updateTimeline() {
|
function updateTimeline() {
|
||||||
var selected = $( "#timeline_selector" ).val();
|
var selected = $( "#timeline_selector" ).val();
|
||||||
$.getJSON( url_getGenericTrendingOvertime+"?dateS="+parseInt(dateStart.getTime()/1000)+"&dateE="+parseInt(dateEnd.getTime()/1000)+"&choice="+selected, function( data ) {
|
$.getJSON( url_getGenericTrendingOvertime+"?dateS="+parseInt(dateStart.getTime()/1000)+"&dateE="+parseInt(dateEnd.getTime()/1000)+"&choice="+selected, function( data ) {
|
||||||
var items = [];
|
items_timeline = [];
|
||||||
var groups = new vis.DataSet();
|
var groups = new vis.DataSet();
|
||||||
var dico_groups = {};
|
var dico_groups = {};
|
||||||
var i = 1;
|
var i = 1;
|
||||||
|
@ -431,25 +432,34 @@ function updateTimeline() {
|
||||||
dico_groups[obj.name] = g;
|
dico_groups[obj.name] = g;
|
||||||
g++;
|
g++;
|
||||||
}
|
}
|
||||||
items.push({
|
items_timeline.push({
|
||||||
id: i,
|
id: i,
|
||||||
content: getOnlyName(obj.name),
|
content: getOnlyName(obj.name),
|
||||||
|
title: obj.name,
|
||||||
start: obj.start*1000,
|
start: obj.start*1000,
|
||||||
end: obj.end*1000,
|
end: obj.end*1000,
|
||||||
group: dico_groups[obj.name]
|
group: dico_groups[obj.name]
|
||||||
});
|
});
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
items = new vis.DataSet(items);
|
items_timeline = new vis.DataSet(items_timeline);
|
||||||
if (timeline === undefined) { // create timeline
|
if (timeline === undefined) { // create timeline
|
||||||
timeline = new vis.Timeline(document.getElementById('timeline'));
|
timeline = new vis.Timeline(document.getElementById('timeline'));
|
||||||
|
// set listener for tooltip
|
||||||
|
timeline.on('doubleClick', function (properties) {
|
||||||
|
var type = $( "#timeline_selector" ).val();
|
||||||
|
var itemValue = items_timeline.get(properties.item).content;
|
||||||
|
if (type.localeCompare('events') == 0 || type.localeCompare('tags') == 0) { // Do not open a tab for categ
|
||||||
|
window.open(url_misp+'/'+type+'/index/searchall:'+itemValue, '_blank'); // as we do not have index for the moment, search it
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
var dateEndExtended = new Date(dateEnd).setDate(dateEnd.getDate()+1); // dateEnd+1
|
var dateEndExtended = new Date(dateEnd).setDate(dateEnd.getDate()+1); // dateEnd+1
|
||||||
timeline_option.start = dateStart;
|
timeline_option.start = dateStart;
|
||||||
timeline_option.end = dateEndExtended;
|
timeline_option.end = dateEndExtended;
|
||||||
timeline.setOptions(timeline_option);
|
timeline.setOptions(timeline_option);
|
||||||
timeline.setGroups(groups);
|
timeline.setGroups(groups);
|
||||||
timeline.setItems(items);
|
timeline.setItems(items_timeline);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -248,6 +248,7 @@ small {
|
||||||
var url_getGenericTrendingOvertime = "{{ url_for('getGenericTrendingOvertime') }}";
|
var url_getGenericTrendingOvertime = "{{ url_for('getGenericTrendingOvertime') }}";
|
||||||
|
|
||||||
var url_getTypeaheadData = "{{ url_for('getTypeaheadData') }}";
|
var url_getTypeaheadData = "{{ url_for('getTypeaheadData') }}";
|
||||||
|
var url_misp = "{{ url_misp_event }}";
|
||||||
|
|
||||||
/* DATA FROM CONF */
|
/* DATA FROM CONF */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue