The following is my JS code require([
"underscore",
"jquery",
"splunkjs/mvc",
"splunkjs/mvc/searchmanager",
"splunkjs/mvc/tableview",
"splunkjs/mvc/simplexml/ready!"
], function(_, $, mvc, SearchManager, TableView) {
var mySearch = splunkjs.mvc.Components.getInstance("main_search");
var myResults = mySearch.data("results");
myResults.on("data", function(){
allFields = myResults.data().fields;
filteredFields = allFields.filter(field => !consistentFields.includes(field));
});
var filteredFields;
var consistentFields = ["Field 1", "Field 2", "Field 3" ];
var CustomRangeRenderer = TableView.BaseCellRenderer.extend({
canRender: function(cell) {
return true;
},
render: function($td, cell) {
if(filteredFields.includes(cell.field)){
if (cell.value === "Failure") {
$td.addClass("failure");
}
else if (cell.value === "Warn") {
$td.addClass("warn");
}
else if (cell.value === "Success") {
$td.addClass("success");
}
}
// Update the cell content
$td.text(cell.value).addClass("string");
}
});
mvc.Components.get("main_table").getVisualization(function(tableView) {
// Add custom cell renderer, the table will re-render automatically.
tableView.addCellRenderer(new CustomRangeRenderer());
});
}); I am not having the table load every time as I look at my console and I am getting the following error message Uncaught TypeError: myResults.data() is undefined This issue is my hunch for why my code works but not every single time since the page won't necessarily load.
... View more