Нема описа

case.timeline.visu.js 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. function visualizeTimeline(group) {
  2. ggr = ['asset', 'category']
  3. if (group == 'asset') {
  4. src = '/case/timeline/visualize/data/by-asset';
  5. } else {
  6. src = '/case/timeline/visualize/data/by-category';
  7. }
  8. get_request_api(src)
  9. .done((data) => {
  10. if (data.status == 'success') {
  11. var items = new vis.DataSet();
  12. groups = new vis.DataSet();
  13. groups_l = []
  14. if (data.data.events.length == 0) {
  15. $('#card_main_load').show();
  16. $('#visualization').text('No events in summary');
  17. hide_loader();
  18. return true;
  19. }
  20. for (index in data.data.events) {
  21. event = data.data.events[index];
  22. if (!groups_l.includes(event.group)){
  23. groups.add({
  24. id: groups_l.length,
  25. content: event.group
  26. })
  27. groups_l.push(event.group);
  28. }
  29. items.add({
  30. id: index,
  31. group: groups_l.indexOf(event.group),
  32. start: event.date,
  33. content: event.content,
  34. style: event.style,
  35. title: event.title
  36. })
  37. }
  38. // specify options
  39. var options = {
  40. stack: true,
  41. minHeight: '400px',
  42. maxHeight: $(window).height() - 250,
  43. start: data.data.events[0].date,
  44. end: data.data.events[data.data.events.length - 1].date,
  45. };
  46. // create a Timeline
  47. var container = document.getElementById('visualization');
  48. container.innerHTML = '';
  49. $('#card_main_load').show();
  50. timeline = new vis.Timeline(container, null, options);
  51. if (ggr.includes(group)) {
  52. timeline.setGroups(groups);
  53. }
  54. timeline.setItems(items);
  55. hide_loader();
  56. }
  57. });
  58. }
  59. function refresh_timeline_graph(){
  60. show_loader();
  61. queryString = window.location.search;
  62. urlParams = new URLSearchParams(queryString);
  63. group = urlParams.get('group-by');
  64. visualizeTimeline(group);
  65. }