var max_events; var bg; $(document).ready(function() { max_events = localStorage["events"]; if (localStorage["events"] == undefined) { localStorage["events"] = "20"; } bg = chrome.extension.getBackgroundPage(); // Display the information var events = bg.fetchEvents(); if (!events) { showError("Failed to retrieve events, please retry"); } else if (events.length == 0) { showError("No events"); } else { showEvents(); } // Adding buttons listeners document.getElementById("m_refresh").addEventListener("click", mrefresh); // Added listener to background messages chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) { switch (message.text) { case "FETCH_EVENTS": setSpinner(); //$('div.b').hide(); break; case "FETCH_EVENTS_SUCCESS": unsetSpinner(); showEvents(); break; case "FETCH_EVENTS_DATA_ERROR": unsetSpinner(); showError("Error in fetching data!! Check your internet connection"); break; case "FETCH_EVENTS_URL_ERROR": unsetSpinner(); showError( "Configure ip address,API password, user name and password with correct values" ); break; default: console.log("Unrecognized message: ", message.text); break; } }); }); function setSpinner() { $("#refr_img_id").attr("src", "images/spinny.gif"); } function unsetSpinner() { $("#refr_img_id").attr("src", "images/refresh.png"); } function clearError() { $(".error").hide(); $(".error a").text(""); $(".result").css("height", null); } function showError(text) { $(".error a").text(text); $(".error").show(); $(".result").height(420); } function showEvents() { clearError(); $("#events").empty(); var e_refr = document.getElementById("event_temp"); if (e_refr) { wrapper.removeChild(e_refr); } var allEvents = bg.fetchEvents(); var notVisitedEvents = bg.fetchNotVisited(); var eve = document.createElement("div"); eve.id = "event_temp"; eve.setAttribute("class", "b"); var i = 0; if (allEvents.length > 0) { while (i < max_events && i < allEvents.length) { var eve_title = document.createElement("div"); eve_title.id = "e_" + i + "_" + allEvents[i]["id"]; var img = document.createElement("img"); img.src = "images/plus.png"; img.className = "pm"; img.id = "i_" + i + "_" + allEvents[i]["id"]; eve_title.appendChild(img); var div_empty = document.createElement("img"); var a = document.createElement("a"); var temp_style; var agent_url = allEvents[i]["agent"] == 0 ? localStorage["ip_address"] + "/index.php?sec=eventos&sec2=operation/events/events" : localStorage["ip_address"] + "/index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=" + allEvents[i]["agent"]; a.setAttribute("href", agent_url); a.target = "_blank"; a.className = "a_2_mo"; a.innerText = allEvents[i]["title"]; eve_title.setAttribute("class", "event sev-" + allEvents[i]["severity"]); if (notVisitedEvents[allEvents[i]["id"]] === true) { eve_title.style.fontWeight = 600; } eve_title.appendChild(a); eve.appendChild(eve_title); var time = allEvents[i]["date"].split(" "); var time_text = time[0] + " " + time[1]; var p = document.createElement("p"); var id = allEvents[i]["module"] == 0 ? "." : " in the module with Id " + allEvents[i]["module"] + "."; p.innerText = allEvents[i]["type"] + " : " + allEvents[i]["source"] + ". Event occured at " + time_text + id; p.id = "p_" + i; eve_title.appendChild(p); i++; } $("#events").append(eve); $("img.pm").click(showHide); $("div.b").show(); } else { showError("No events"); } localStorage["new_events"] = 0; bg.updateBadge(); } function showHide() { var id = $(this).attr("id"); // Image id has the form i__ var nums = id.split("_"); var pid = "p_" + nums[1]; // Mark as visited if visited if ( $(this) .parent() .css("font-weight") == "600" ) { bg.removeNotVisited(nums[2]); $(this) .parent() .css("font-weight", ""); } // Toggle information if ($("#" + pid).css("display") == "none") { $("#" + pid).slideDown(); $(this).attr({ src: "images/minus.png" }); } else { $("#" + pid).slideUp(); $(this).attr({ src: "images/plus.png" }); } } function mrefresh() { localStorage["new_events"] = 0; bg.updateBadge(); clearError(); bg.resetInterval(); bg.main(); }