Changelog

Scripting

Initial preview release

Version 1

  • Changed dashboard.applyState method is now asynchronous

Changes introduced to version 1 in Investigate 11.0.0

  • Fixed a bug where dashboard.getTime was not returning current time

  • Added new methods dashboard.getSavedQueryString, dashboard.getSavedFilters, dashboard.getSavedTime, graphBrowserVisualization.expand, scriptedPanelVisualization.getComboBox

  • Deprecated method graphBrowserVisualization.expandNode, use graphBrowserVisualization.expand instead

  • Breaking change - Fixed a bug where browser APIs and libraries like Lodash where available in script context, now they have to be whitelisted in the investigate.yml

Scripting interfaces version:

1.0.0

  • initial release

1.1.0

  • added new methods: GraphBrowserVis.expandByRelation, ScriptedPanelVis.getInteractiveTable

  • implemented missing method ScriptedPanelVis.getHtmlCheckboxInputElement

1.2.0

  • added new method: ScriptedPanelVis.getComboBox

1.3.0

  • added new method: GraphBrowserVis.expand

  • deprecated a method: GraphBrowserVis.expandNode

1.4.0

  • Added new methods graphBrowser.crop graphBrowser.undo, graphBrowser.redo, graphBrowser.standardLayout, graphBrowser.hierarchicalLayout, graphBrowser.radialLayout, graphBrowser.groupSelectedNodes, graphbrowser.ungroupSelectedNodes, graphBrowser.removeSelected, graphbrowser.invertRelations, graphbrowser.highlight, graphbrowser.toggleLiveFilter, graphbrowser.toggleTimebar, graphbrowser.toggleMap, graphbrowser.heatmap, graphbrowser.showNodesWithoutTime, graphbrowser.saveGraph, graphbrowser.loadGraph, graphbrowser.loadEntities, graphbrowser.exportGraphAsAnxFile, graphbrowser.organicLayout, graphbrowser.sequentialLayout, graphbrowser.lensLayout, graphbrowser.structuralLayout, graphbrowser.tweakLayout, graphbrowser.fit, graphbrowser.invertNodesSelection, graphbrowser.extendNodesSelection

  • Changed signature of following methods

  • graphBrowser.expandSelectedNodes() to graphBrowser.expandSelectedNodes({ mode, nodesLimitOverride })

  • graphBrowser.addDocumentsFromDashboard(dashboardId) to graphBrowser.addDocumentsFromDashboard({ dashboardId, limit, modalOption })

  • graphBrowser.addDocumentsByQuery(index, query) to graphBrowser.addDocumentsByQuery({ searchId, query })

  • scriptedPanelVis.getHtmlCheckboxInputElement(name, label, checked) to scriptedPanelVis.getHtmlCheckboxInputElement(name, label, onChange, checked)

  • Changed signature of following methods to be asynchronous dashboard.getDashboardDataModelSearchByTitle, dashboard.getDashboardDataModelSearchByNodeId

    Please review your scripts. If they contain any browser-specific APIs or libraries which you would still like to use they must be whitelisted in investigate.yml configuration. For details see Enabling additional APIs

  • Added Revisions API with reviseRow method to sirenapi.Revisions.

  • Added SearchSource API to query against Search objects; SearchSource instance can be obtained by calling await search.getSearchSource() on the desired Search object.

    • You may fire a fetch request on a SearchSource object by calling await searchSource.fetch(). The state/body of a SearchSource object can be changed via following methods: type, query, filter, sort, highlight, highlightAll, aggs, from, searchAfter, size, source, version, seqNoPrimaryTerm, inject.

  • scriptedPanelVis.getHtmlTextInputElement and scriptedPanelVis.getHtmlNumberInputElement now accepts an initialValue parameter.

  • options.columns passed to scriptedPanelVis.getInteractiveTable method now accept a boolean imageUrlField (default: false) and maxWidth (default: '100px') to render the field value as an image (<img style={{ maxWidth }} src={fieldValue} />).

1.5.0

  • Added new methods to Dashboard - dashboard.getDashboardDataModelRootSearch, getDashboardDataModelTree, dashboard.open, dashboard.openModal

  • Added new method to all Visualizations- visualization.openModal

  • Added new method to Scripted Panel visualization - scriptedpanel.renderReactElement

  • Added new methods to Graph Browser visualization - graphbrowser.invertNodesSelection, graphbrowser.extendNodesSelection, graphbrowser.findCommonCommunicators, graphbrowser.selectByEntityType, graphbrowser.findShortestPath, graphbrowser.selectByEdgeCount, graphbrowser.showNodeCountByType, graphbrowser.isNodeCombo, graphbrowser.sort, graphbrowser.createRecord, graphbrowser.viewRecord, graphbrowser.addOrEditLinks, graphbrowser.isHighlightEnabled, graphbrowser.isLiveFilterEnabled, graphbrowser.isDirectRelation, graphbrowser.isNodesSelectionEmpty, graphbrowser.isComboNodeInSelection, graphbrowser.isUndoable, graphbrowser.isRedoable, graphbrowser.isMapEnabled, graphbrowser.isTimebarEnabled, graphbrowser.isHeatmapEnabled, graphbrowser.isEditLinkEnabled, graphbrowser.isRecordViewEnabled

  • The signature of graphbrowser.expandByRelation sirenAPI function have been updated. The node ids and relations ids must be passed as parameters of the options object as expandByRelation({ nodeIds, relationIds })

Next

  • Removed indexPatternId parameter to instantiate Search object

  • Changed the signature of the following method

  • sirenapi.getTimeFilter(time, indexPatternId) to sirenapi.getTimeFilter(time, searchId), getTimeFilter accepts searchId instead of indexPatternId as indexPattern object is removed.