Hello Splunkers,
I am showing some Splunk search data into table by 'TableElement' by splunk search id bind with 'TableElement' table manager id.
search_query = new SearchManager({
"id": search_id,
"status_buckets": 0,
"cancelOnUnload": true,
"search": search_cmd,
"latest_time": "$latest$",
"earliest_time": "$earliest$",
"app": utils.getCurrentApp(),
"auto_cancel": 90,
"preview": true,
"runWhenTimeIsUndefined": false,
"timeout": "10"
}, {tokens: true});
var element1 = new TableElement({
"id": "element1",
"drilldown": "row",
"rowNumbers": "undefined",
"wrap": "undefined",
"managerid": search_id,
"el": $('#element1')
}, {tokens: true, tokenNamespace: "submitted"}).render();
Every time search called with new data. It has to be updated in table. But, getting Uncaught Error: Already have instance with id: in splunk
error. I search possible solution for this, but didn't work out.
Can anyone tell how update table very time search is executed.
Try to do this:
Regards.
This works well. I place it in the teardown function:
teardown: function($container, rowData) {
var that = this;
that._tableView=null;
var search_idCell = _(rowData.cells).find(function (cell) {
return cell.field === 'Login Name';
});
mvc.Components.revokeInstance(search_idCell.value);
},
Hi,
the solution that I've found is to create randomically the id.
This workaround can be used for all Splunk Javascript object
For example:
var epoch=(new Date).getTime();
var Dropdown = require("splunkjs/mvc/dropdownview");
var dropdown = new Dropdown({id: "Dropdown"+epoch,
default: "",
el: $("#mydiv")
}).render();