@splunk/visualizations 25.2.0 → 25.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Value_Highlighting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Background_Color_af575a.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_extraLarge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Markdown_with_number_as_DSL.png +0 -0
- package/Area.config.js +58 -8
- package/Area.config.js.map +1 -1
- package/Area.js +77 -27
- package/Area.js.map +1 -1
- package/Bar.config.js +3 -3
- package/Bar.config.js.map +1 -1
- package/Bar.js +22 -22
- package/Bar.js.map +1 -1
- package/Bubble.config.js +3 -3
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +22 -22
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +3 -3
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +24 -24
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +3 -3
- package/Column.config.js.map +1 -1
- package/Column.js +22 -22
- package/Column.js.map +1 -1
- package/Ellipse.config.js +3 -3
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +21 -21
- package/Ellipse.js.map +1 -1
- package/Events.config.js +15 -19
- package/Events.config.js.map +1 -1
- package/Events.js +48 -50
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +3 -3
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +29 -29
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +3 -3
- package/Image.config.js.map +1 -1
- package/Image.js +21 -21
- package/Image.js.map +1 -1
- package/Line.config.js +56 -6
- package/Line.config.js.map +1 -1
- package/Line.js +75 -25
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +3 -3
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +2216 -1311
- package/LinkGraph.js.map +1 -1
- package/Map.config.js +3 -3
- package/Map.config.js.map +1 -1
- package/Map.js +77 -77
- package/Map.js.map +1 -1
- package/Markdown.config.js +26 -4
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +143 -96
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +3 -3
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +81 -81
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +3 -3
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +120 -120
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +3 -3
- package/Pie.config.js.map +1 -1
- package/Pie.js +83 -83
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +3 -3
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +178 -178
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +3 -3
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +89 -89
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +3 -3
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +61 -61
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +3 -3
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +35 -35
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +3 -3
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +48 -48
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +4 -4
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +3 -3
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +58 -58
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +3 -3
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +62 -62
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +3 -3
- package/Table.config.js.map +1 -1
- package/Table.js +52 -52
- package/Table.js.map +1 -1
- package/common/OptionsDoc.js +3 -4
- package/common/OptionsDoc.js.map +1 -1
- package/common/utils/configUtils.js +3 -3
- package/common/utils/configUtils.js.map +1 -1
- package/common/withDashboardViz.js +2 -2
- package/package.json +11 -11
package/Events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"lodash\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/moment\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/themes\"","webpack:///external \"@splunk/visualizations-shared/dataSourceUtils\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///external \"@splunk/react-ui/Menu\"","webpack:///./src/common/utils/dataUtils.ts","webpack:///external \"@splunk/react-ui/Markdown\"","webpack:///./src/Events/Events.tsx","webpack:///./src/Events/docs/constants.js","webpack:///external \"@splunk/visualization-context/EventsContext\"","webpack:///external \"@splunk/datasource-utils/DataSet\"","webpack:///./src/Events/index.ts","webpack:///./src/Events/config.ts","webpack:///./src/Events/PureEvents/PureEvents.tsx","webpack:///external \"@splunk/react-events-viewer/components/EventsViewer\"","webpack:///./src/Events/EventUtils.ts","webpack:///./src/Events/PureEvents/FieldSummaryTooltip.tsx","webpack:///external \"@splunk/react-field-summary/components/FieldSummary\""],"names":["rawEventPayload","preview","init_offset","messages","fields","name","results","host","source","sourcetype","splunk_server","index","_raw","value","_time","linecount","trunc","highlighted","_internal","originalDataSourceData","DataSet","dataSourceData","columns","EMPTY_DATASOURCE","primary","requestParams","offset","count","data","meta","totalCount","FIELDSUMMARY_DS_STORYBOOK","FIELDSUMMARY_DS_DOC_HUB"],"mappings":"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","file":"Events.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 183);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"lodash\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={__VISION_VERSION__}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = vizConfig;\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n iconColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n iconColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\n\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\n }\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n ]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptions[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/moment\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\nexport interface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/themes\");","module.exports = require(\"@splunk/visualizations-shared/dataSourceUtils\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"@splunk/react-ui/Popover\");","module.exports = require(\"@splunk/react-ui/Menu\");","// TODO: utilize this fn in ParallelCoordinates\nexport const convertToArrOfObjects = (columns, fields) => {\n if (!columns || !columns[0].length) return [];\n\n const data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n const fieldName = typeof field === 'string' ? field : field.name;\n if (columns[index][i] === '') {\n newObj[fieldName] = null;\n } else {\n newObj[fieldName] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n return data;\n};\n","module.exports = require(\"@splunk/react-ui/Markdown\");","import { get } from 'lodash';\nimport { getDataSourceStateInfo, DataSourceState } from '@splunk/visualizations-shared/dataSourceUtils';\n\nimport withDashboardViz, { DashboardVizOpts } from '../common/withDashboardViz';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport { EMPTY_DATASOURCE } from './docs/constants';\nimport config from './config';\n\nimport PureEvents from './PureEvents/PureEvents';\n\n/**\n * @method showPlaceHolderIcon\n * @param {Object} dataSources\n * @returns {Boolean} return true if loading, error, non existent state or without columns in dataSources\n */\nexport const showPlaceHolderIcon = dataSources => {\n const columns = get(dataSources, 'primary.data.columns', undefined);\n const noColumns = columns === undefined;\n const dataSourceState = getDataSourceStateInfo(dataSources);\n\n return (\n dataSourceState === DataSourceState.ERROR ||\n dataSourceState === DataSourceState.LOADING ||\n dataSourceState === DataSourceState.NONEXISTENT ||\n noColumns\n );\n};\n\nexport const computeVizProps = ({ ...props }) => {\n // for specific changes to view type (List -> Raw, etc.), can create handling function here that calls onOptionsChange\n\n // defaults to an empty datasource if one isn't provided, which shows the No Results Found UI:\n const dataSources = props?.dataSources ?? EMPTY_DATASOURCE;\n\n return { ...props, dataSources };\n};\n\nconst Events = withDashboardViz({\n ReactViz: PureEvents,\n vizConfig: config,\n computeVizProps,\n useIconPlaceholder: (dataSources: { [name: string]: DataSource }) => showPlaceHolderIcon(dataSources),\n} as DashboardVizOpts);\nconst { themes } = config;\nexport default Events;\nexport { themes, config, PureEvents };\n","// TODO: convert this file to .ts - created as .js as copied from SUI EventsViewer repo\nimport DataSet from '@splunk/datasource-utils/DataSet';\n\nexport const rawEventPayload = {\n preview: false,\n init_offset: 0,\n messages: [],\n fields: [\n {\n name: 'host',\n },\n {\n name: 'source',\n },\n {\n name: 'sourcetype',\n },\n {\n name: 'splunk_server',\n },\n {\n name: 'index',\n },\n {\n name: '_raw',\n },\n {\n name: '_time',\n },\n {\n name: 'eventtype',\n },\n {\n name: '_eventtype_color',\n },\n {\n name: 'linecount',\n },\n {\n name: '_fulllinecount',\n },\n ],\n results: [\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '{\"datetime\":\"07-16-2018 16:38:11.545 -0700\",\"log_level\":\"INFO\",\"component\":\"KVStoreServerStats\",\"data\":{\"host\":\"ssingamneni-mbp13:8191\",\"version\":\"3.4.9-splunk\",\"process\":\"mongod\",\"pid\":21585,\"uptime\":20886,\"uptimeMillis\":20886042,\"uptimeEstimate\":20886,\"localTime\":1531784291541,\"asserts\":{\"regular\":0,\"warning\":0,\"msg\":0,\"user\":0,\"rollovers\":0},\"backgroundFlushing\":{\"flushes\":270,\"total_ms\":4429,\"average_ms\":16.403703703703705,\"last_ms\":27,\"last_finished\":1531784263582},\"connections\":{\"current\":9,\"available\":8183,\"totalCreated\":13},\"dur\":{\"commits\":28,\"journaledMB\":0,\"writeToDataFilesMB\":0,\"compression\":0,\"commitsInWriteLock\":0,\"earlyCommits\":0,\"timeMs\":{\"dt\":3013,\"prepLogBuffer\":0,\"writeToJournal\":0,\"writeToDataFiles\":0,\"remapPrivateView\":0,\"commits\":1,\"commitsInWriteLock\":0}},\"extra_info\":{\"note\":\"fields vary by platform\",\"page_faults\":36543},\"globalLock\":{\"totalTime\":20885955000,\"currentQueue\":{\"total\":0,\"readers\":0,\"writers\":0},\"activeClients\":{\"total\":27,\"readers\":0,\"writers\":0}},\"locks\":{\"Global\":{\"acquireCount\":{\"r\":242994,\"w\":4136,\"R\":1,\"W\":5}},\"MMAPV1Journal\":{\"acquireCount\":{\"r\":127466,\"w\":4168,\"R\":149384,\"W\":190},\"acquireWaitCount\":{\"w\":28,\"R\":27},\"timeAcquiringMicros\":{\"w\":4320,\"R\":45261}},\"Database\":{\"acquireCount\":{\"r\":127257,\"w\":2479,\"R\":226,\"W\":36}},\"Collection\":{\"acquireCount\":{\"R\":105833,\"W\":573}},\"Metadata\":{\"acquireCount\":{\"w\":1906}},\"oplog\":{\"acquireCount\":{\"R\":21094,\"W\":1906}}},\"network\":{\"bytesIn\":4616571,\"bytesOut\":24319954,\"physicalBytesIn\":4616571,\"physicalBytesOut\":24319954,\"numRequests\":77719},\"opLatencies\":{\"reads\":{\"latency\":663793,\"ops\":17069},\"writes\":{\"latency\":12666524,\"ops\":569},\"commands\":{\"latency\":945488,\"ops\":21221}},\"opcounters\":{\"insert\":0,\"query\":17070,\"update\":569,\"delete\":0,\"getmore\":0,\"command\":21222},\"opcountersRepl\":{\"insert\":0,\"query\":0,\"update\":0,\"delete\":0,\"getmore\":0,\"command\":0},\"repl\":{\"hosts\":[\"127.0.0.1:8191\"],\"setName\":\"00BBEAFD-8B78-4F58-90B9-E7F3E9CBB249\",\"setVersion\":1,\"ismain\":true,\"secondary\":false,\"primary\":\"127.0.0.1:8191\",\"tags\":{\"all\":\"all\",\"instance\":\"00BBEAFD-8B78-4F58-90B9-E7F3E9CBB249\"},\"me\":\"127.0.0.1:8191\",\"electionId\":{\"$oid\":\"7fffffff000000000000000b\"},\"lastWrite\":{\"opTime\":{\"ts\":{\"$timestamp\":{\"t\":1531784281,\"i\":2}},\"t\":11},\"lastWriteDate\":{\"$date\":1531784281000}},\"rbid\":673893},\"security\":{\"SSLServerSubjectName\":\"O=SplunkUser,CN=SplunkServerDefaultCert\",\"SSLServerHasCertificateAuthority\":false,\"SSLServerCertificateExpirationDate\":{\"$date\":1622326898000}},\"storageEngine\":{\"name\":\"mmapv1\",\"supportsCommittedReads\":false,\"readOnly\":false,\"persistent\":true},\"mem\":{\"bits\":64,\"resident\":123,\"virtual\":5307,\"supported\":true,\"mapped\":448,\"mappedWithJournal\":896},\"metrics\":{\"commands\":{\"<UNKNOWN>\":0,\"_configsvrAddShard\":{\"failed\":0,\"total\":0},\"_configsvrAddShardToZone\":{\"failed\":0,\"total\":0},\"_configsvrBalancerStart\":{\"failed\":0,\"total\":0},\"_configsvrBalancerStatus\":{\"failed\":0,\"total\":0},\"_configsvrBalancerStop\":{\"failed\":0,\"total\":0},\"_configsvrCommitChunkMerge\":{\"failed\":0,\"total\":0},\"_configsvrCommitChunkMigration\":{\"failed\":0,\"total\":0},\"_configsvrCommitChunkSplit\":{\"failed\":0,\"total\":0},\"_configsvrMoveChunk\":{\"failed\":0,\"total\":0},\"_configsvrRemoveShardFromZone\":{\"failed\":0,\"total\":0},\"_configsvrSetFeatureCompatibilityVersion\":{\"failed\":0,\"total\":0},\"_configsvrUpdateZoneKeyRange\":{\"failed\":0,\"total\":0},\"_getUserCacheGeneration\":{\"failed\":0,\"total\":0},\"_isSelf\":{\"failed\":0,\"total\":0},\"_mergeAuthzCollections\":{\"failed\":0,\"total\":0},\"_migrateClone\":{\"failed\":0,\"total\":0},\"_recvChunkAbort\":{\"failed\":0,\"total\":0},\"_recvChunkCommit\":{\"failed\":0,\"total\":0},\"_recvChunkStart\":{\"failed\":0,\"total\":0},\"_recvChunkStatus\":{\"failed\":0,\"total\":0},\"_transferMods\":{\"failed\":0,\"total\":0},\"aggregate\":{\"failed\":0,\"total\":0},\"appendOplogNote\":{\"failed\":0,\"total\":0},\"applyOps\":{\"failed\":0,\"total\":0},\"authSchemaUpgrade\":{\"failed\":0,\"total\":0},\"authenticate\":{\"failed\":0,\"total\":0},\"availableQueryOptions\":{\"failed\":0,\"total\":0},\"buildInfo\":{\"failed\":0,\"total\":0},\"checkShardingIndex\":{\"failed\":0,\"total\":0},\"cleanupOrphaned\":{\"failed\":0,\"total\":0},\"clone\":{\"failed\":0,\"total\":0},\"cloneCollection\":{\"failed\":0,\"total\":0},\"cloneCollectionAsCapped\":{\"failed\":0,\"total\":0},\"collMod\":{\"failed\":0,\"total\":0},\"collStats\":{\"failed\":0,\"total\":383},\"compact\":{\"failed\":0,\"total\":0},\"connPoolStats\":{\"failed\":0,\"total\":0},\"connPoolSync\":{\"failed\":0,\"total\":0},\"connectionStatus\":{\"failed\":0,\"total\":0},\"convertToCapped\":{\"failed\":0,\"total\":0},\"copydb\":{\"failed\":0,\"total\":0},\"copydbgetnonce\":{\"failed\":0,\"total\":0},\"copydbsaslstart\":{\"failed\":0,\"total\":0},\"count\":{\"failed\":0,\"total\":0},\"create\":{\"failed\":0,\"total\":0},\"createIndexes\":{\"failed\":0,\"total\":0},\"createRole\":{\"failed\":0,\"total\":0},\"createUser\":{\"failed\":0,\"total\":0},\"currentOp\":{\"failed\":0,\"total\":0},\"currentOpCtx\":{\"failed\":0,\"total\":0},\"dataSize\":{\"failed\":0,\"total\":0},\"dbHash\":{\"failed\":0,\"total\":0},\"dbStats\":{\"failed\":0,\"total\":0},\"delete\":{\"failed\":0,\"total\":0},\"diagLogging\":{\"failed\":0,\"total\":0},\"distinct\":{\"failed\":0,\"total\":0},\"driverOIDTest\":{\"failed\":0,\"total\":0},\"drop\":{\"failed\":0,\"total\":0},\"dropAllRolesFromDatabase\":{\"failed\":0,\"total\":0},\"dropAllUsersFromDatabase\":{\"failed\":0,\"total\":0},\"dropDatabase\":{\"failed\":0,\"total\":0},\"dropIndexes\":{\"failed\":0,\"total\":0},\"dropRole\":{\"failed\":0,\"total\":0},\"dropUser\":{\"failed\":0,\"total\":0},\"eval\":{\"failed\":0,\"total\":0},\"explain\":{\"failed\":0,\"total\":0},\"features\":{\"failed\":0,\"total\":0},\"filemd5\":{\"failed\":0,\"total\":0},\"find\":{\"failed\":0,\"total\":4088},\"findAndModify\":{\"failed\":0,\"total\":0},\"forceerror\":{\"failed\":0,\"total\":0},\"fsync\":{\"failed\":0,\"total\":0},\"fsyncUnlock\":{\"failed\":0,\"total\":0},\"geoNear\":{\"failed\":0,\"total\":0},\"geoSearch\":{\"failed\":0,\"total\":0},\"getCmdLineOpts\":{\"failed\":0,\"total\":3543},\"getDiagnosticData\":{\"failed\":0,\"total\":0},\"getLastError\":{\"failed\":0,\"total\":0},\"getLog\":{\"failed\":0,\"total\":0},\"getMore\":{\"failed\":0,\"total\":0},\"getParameter\":{\"failed\":0,\"total\":0},\"getPrevError\":{\"failed\":0,\"total\":0},\"getShardMap\":{\"failed\":0,\"total\":0},\"getShardVersion\":{\"failed\":0,\"total\":0},\"getnonce\":{\"failed\":0,\"total\":0},\"grantPrivilegesToRole\":{\"failed\":0,\"total\":0},\"grantRolesToRole\":{\"failed\":0,\"total\":0},\"grantRolesToUser\":{\"failed\":0,\"total\":0},\"group\":{\"failed\":0,\"total\":0},\"handshake\":{\"failed\":0,\"total\":0},\"hostInfo\":{\"failed\":0,\"total\":0},\"insert\":{\"failed\":0,\"total\":0},\"invalidateUserCache\":{\"failed\":0,\"total\":0},\"isMain\":{\"failed\":0,\"total\":4877},\"killCursors\":{\"failed\":0,\"total\":0},\"killOp\":{\"failed\":0,\"total\":0},\"listCollections\":{\"failed\":0,\"total\":220},\"listCommands\":{\"failed\":0,\"total\":0},\"listDatabases\":{\"failed\":0,\"total\":55},\"listIndexes\":{\"failed\":0,\"total\":0},\"lockInfo\":{\"failed\":0,\"total\":0},\"logRotate\":{\"failed\":0,\"total\":0},\"logout\":{\"failed\":0,\"total\":0},\"mapReduce\":{\"failed\":0,\"total\":0},\"mapreduce\":{\"shardedfinish\":{\"failed\":0,\"total\":0}},\"mergeChunks\":{\"failed\":0,\"total\":0},\"moveChunk\":{\"failed\":0,\"total\":0},\"parallelCollectionScan\":{\"failed\":0,\"total\":0},\"ping\":{\"failed\":0,\"total\":7692},\"planCacheClear\":{\"failed\":0,\"total\":0},\"planCacheClearFilters\":{\"failed\":0,\"total\":0},\"planCacheListFilters\":{\"failed\":0,\"total\":0},\"planCacheListPlans\":{\"failed\":0,\"total\":0},\"planCacheListQueryShapes\":{\"failed\":0,\"total\":0},\"planCacheSetFilter\":{\"failed\":0,\"total\":0},\"profile\":{\"failed\":0,\"total\":4},\"reIndex\":{\"failed\":0,\"total\":0},\"renameCollection\":{\"failed\":0,\"total\":0},\"repairCursor\":{\"failed\":0,\"total\":0},\"repairDatabase\":{\"failed\":0,\"total\":0},\"replSetAbortPrimaryCatchUp\":{\"failed\":0,\"total\":0},\"replSetElect\":{\"failed\":0,\"total\":0},\"replSetFreeze\":{\"failed\":0,\"total\":0},\"replSetFresh\":{\"failed\":0,\"total\":0},\"replSetGetConfig\":{\"failed\":0,\"total\":0},\"replSetGetRBID\":{\"failed\":0,\"total\":0},\"replSetGetStatus\":{\"failed\":0,\"total\":3816},\"replSetHeartbeat\":{\"failed\":0,\"total\":0},\"replSetInitiate\":{\"failed\":0,\"total\":0},\"replSetMaintenance\":{\"failed\":0,\"total\":0},\"replSetReconfig\":{\"failed\":0,\"total\":0},\"replSetRequestVotes\":{\"failed\":0,\"total\":0},\"replSetStepDown\":{\"failed\":0,\"total\":0},\"replSetStepUp\":{\"failed\":0,\"total\":0},\"replSetSyncFrom\":{\"failed\":0,\"total\":0},\"replSetUpdatePosition\":{\"failed\":0,\"total\":0},\"resetError\":{\"failed\":0,\"total\":0},\"resync\":{\"failed\":0,\"total\":0},\"revokePrivilegesFromRole\":{\"failed\":0,\"total\":0},\"revokeRolesFromRole\":{\"failed\":0,\"total\":0},\"revokeRolesFromUser\":{\"failed\":0,\"total\":0},\"rolesInfo\":{\"failed\":0,\"total\":0},\"saslContinue\":{\"failed\":0,\"total\":20},\"saslStart\":{\"failed\":0,\"total\":10},\"serverStatus\":{\"failed\":0,\"total\":602},\"setFeatureCompatibilityVersion\":{\"failed\":0,\"total\":0},\"setParameter\":{\"failed\":0,\"total\":0},\"setShardVersion\":{\"failed\":0,\"total\":0},\"shardConnPoolStats\":{\"failed\":0,\"total\":0},\"shardingState\":{\"failed\":0,\"total\":0},\"shutdown\":{\"failed\":0,\"total\":0},\"splitChunk\":{\"failed\":0,\"total\":0},\"splitVector\":{\"failed\":0,\"total\":0},\"top\":{\"failed\":0,\"total\":0},\"touch\":{\"failed\":0,\"total\":0},\"unsetSharding\":{\"failed\":0,\"total\":0},\"update\":{\"failed\":0,\"total\":569},\"updateRole\":{\"failed\":0,\"total\":0},\"updateUser\":{\"failed\":0,\"total\":0},\"usersInfo\":{\"failed\":0,\"total\":0},\"validate\":{\"failed\":0,\"total\":0},\"whatsmyuri\":{\"failed\":0,\"total\":0}},\"cursor\":{\"timedOut\":0,\"open\":{\"noTimeout\":0,\"pinned\":0,\"total\":0}},\"document\":{\"deleted\":0,\"inserted\":0,\"returned\":4101,\"updated\":569},\"getLastError\":{\"wtime\":{\"num\":569,\"totalMillis\":2},\"wtimeouts\":0},\"operation\":{\"scanAndOrder\":0,\"writeConflicts\":0},\"queryExecutor\":{\"scanned\":574,\"scannedObjects\":4670},\"record\":{\"moves\":0},\"repl\":{\"executor\":{\"counters\":{\"eventCreated\":6,\"eventWait\":6,\"cancels\":2,\"waits\":0,\"scheduledNetCmd\":0,\"scheduledDBWork\":2,\"scheduledXclWork\":0,\"scheduledWorkAt\":2,\"scheduledWork\":0,\"schedulingFailures\":0},\"queues\":{\"networkInProgress\":0,\"dbWorkInProgress\":0,\"exclusiveInProgress\":0,\"sleepers\":0,\"ready\":0,\"free\":3},\"unsignaledEvents\":0,\"eventWaiters\":0,\"shuttingDown\":false,\"networkInterface\":\"\\\\nNetworkInterfaceASIO Operations\\' Diagnostic:\\\\nOperation: Count: \\\\nConnecting 0 \\\\nIn Progress 0 \\\\nSucceeded 0 \\\\nCanceled 0 \\\\nFailed 0 \\\\nTimed Out 0 \\\\n\\\\n\"},\"apply\":{\"attemptsToBecomeSecondary\":1,\"batches\":{\"num\":0,\"totalMillis\":0},\"ops\":0},\"buffer\":{\"count\":0,\"maxSizeBytes\":268435456,\"sizeBytes\":0},\"initialSync\":{\"completed\":0,\"failedAttempts\":0,\"failures\":0},\"network\":{\"bytes\":0,\"getmores\":{\"num\":0,\"totalMillis\":0},\"ops\":0,\"readersCreated\":0},\"preload\":{\"docs\":{\"num\":0,\"totalMillis\":0},\"indexes\":{\"num\":0,\"totalMillis\":0}}},\"storage\":{\"freelist\":{\"search\":{\"bucketExhausted\":0,\"requests\":0,\"scanned\":0}}},\"ttl\":{\"deletedDocuments\":0,\"passes\":270}},\"ok\":1}}',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=syslog_output, instantaneous_kbps=0, instantaneous_eps=0, average_kbps=0, total_k_processed=0, kb=0, ev=0',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=thruput, name=index_thruput, instantaneous_kbps=0.8775484783935827, instantaneous_eps=3.0319205432969385, average_kbps=0.7287044552121656, total_k_processed=4798, kb=27.20703125, ev=94',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=queue, name=typingqueue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=24, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=queue, name=tcpin_queue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=queue, name=stashparsing, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=queue, name=splunktcpin, max_size_kb=0, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.689 -0700 INFO Metrics - group=queue, name=parsingqueue, max_size_kb=6144, current_size_kb=0, current_size=0, largest_size=2, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.689-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.689 -0700 INFO Metrics - group=queue, name=nullqueue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=1, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.689-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.689 -0700 INFO Metrics - group=queue, name=indexqueue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=74, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.689-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.689 -0700 INFO Metrics - group=queue, name=httpinputq, max_size_kb=0, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.689-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.688 -0700 INFO Metrics - group=queue, name=fschangemanager_queue, max_size_kb=5120, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.688-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.688 -0700 INFO Metrics - group=queue, name=fifointernalq, max_size_kb=0, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.688-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.688 -0700 INFO Metrics - group=queue, name=execprocessorinternalq, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.688-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.688 -0700 INFO Metrics - group=queue, name=auditqueue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=1, smallest_size=0',\n trunc: false,\n },\n _time: '2018-04-02T16:33:49.688-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=queue, name=aggqueue, max_size_kb=1024, current_size_kb=0, current_size=0, largest_size=81, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=queue, name=udp_queue, max_size_kb=0, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=queue, name=aq, max_size_kb=10240, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=queue, name=aeq, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=per_sourcetype_thruput, series=\"splunkd_ui_access\", kbps=0.07254104896811675, eps=0.5160714486728722, kb=2.2490234375, ev=16, avg_age=0.125, max_age=1',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n ],\n highlighted: {\n index: {\n _internal: true,\n },\n },\n};\n\n// Datasource utilized in example on @splunk/react-events-viewer docs\nexport const originalDataSourceData = DataSet.fromJSONArray(rawEventPayload.fields, rawEventPayload.results);\n\n// Replaces _raw object with the value of the `value` key - this is the string expected in Dashboard Studio payload\noriginalDataSourceData.columns[5] = originalDataSourceData.columns[5].map(_raw => _raw.value);\n\n// Exports payload with expected shape of Dashboard Studio payload - fields as an array of strings, and columns\n// as arrays of data primitives like strings and numbers\n// Component works with either [{ name: `field` }, ...] or [`field`,...] format - leaving as array as objects as\n// expected in Dashboard Studio payload\nexport const dataSourceData = {\n fields: rawEventPayload.fields,\n columns: originalDataSourceData.columns,\n};\n\nexport const EMPTY_DATASOURCE = {\n primary: {\n requestParams: { offset: 0, count: 0 },\n data: {\n fields: [],\n columns: [],\n },\n meta: { totalCount: 0 },\n },\n};\n\nexport const FIELDSUMMARY_DS_STORYBOOK = {\n requestParams: {},\n data: {\n fields: [\n {\n name: 'field',\n },\n {\n name: 'count',\n },\n {\n name: 'distinct_count',\n },\n {\n name: 'is_exact',\n },\n {\n name: 'max',\n },\n {\n name: 'mean',\n },\n {\n name: 'min',\n },\n {\n name: 'numeric_count',\n },\n {\n name: 'stdev',\n },\n {\n name: 'values',\n },\n ],\n columns: [\n ['host', 'index', 'linecount', 'source', 'sourcetype', 'splunk_server'],\n ['29', '29', '29', '29', '29', '29'],\n ['1', '1', '1', '1', '1', '1'],\n ['1', '1', '1', '1', '1', '1'],\n [null, null, '1', null, null, null],\n [null, null, '1', null, null, null],\n [null, null, '1', null, null, null],\n ['0', '0', '5', '0', '0', '0'],\n [null, null, '0', null, null, null],\n [\n '[{\"value\":\"jbreeden-mbpr15\",\"count\":29}]',\n '[{\"value\":\"_internal\",\"count\":29}]',\n '[{\"value\":\"1\",\"count\":29}]',\n '[{\"value\":\"/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log\",\"count\":29}]',\n '[{\"value\":\"splunkd\",\"count\":29}]',\n '[{\"value\":\"jbreeden-mbpr15\",\"count\":29}]',\n ],\n ],\n },\n meta: { totalCount: 6 },\n};\n\nexport const FIELDSUMMARY_DS_DOC_HUB = {\n requestParams: {},\n data: {\n fields: [\n {\n name: 'field',\n },\n {\n name: 'count',\n },\n {\n name: 'distinct_count',\n },\n {\n name: 'is_exact',\n },\n {\n name: 'max',\n },\n {\n name: 'mean',\n },\n {\n name: 'min',\n },\n {\n name: 'numeric_count',\n },\n {\n name: 'stdev',\n },\n {\n name: 'values',\n },\n ],\n columns: [\n ['host', 'index', 'linecount', 'source', 'sourcetype', 'splunk_server'],\n ['5', '5', '5', '5', '5', '5'],\n ['1', '1', '1', '1', '1', '1'],\n ['1', '1', '1', '1', '1', '1'],\n [null, null, '1', null, null, null],\n [null, null, '1', null, null, null],\n [null, null, '1', null, null, null],\n ['0', '0', '5', '0', '0', '0'],\n [null, null, '0', null, null, null],\n [\n '[{\"value\":\"jbreeden-mbpr15\",\"count\":5}]',\n '[{\"value\":\"_internal\",\"count\":5}]',\n '[{\"value\":\"1\",\"count\":5}]',\n '[{\"value\":\"/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log\",\"count\":5}]',\n '[{\"value\":\"splunkd\",\"count\":5}]',\n '[{\"value\":\"jbreeden-mbpr15\",\"count\":5}]',\n ],\n ],\n },\n meta: { totalCount: 6 },\n};\n","module.exports = require(\"@splunk/visualization-context/EventsContext\");","module.exports = require(\"@splunk/datasource-utils/DataSet\");","export * from './Events';\nexport { default } from './Events';\n","import { Events as EventsIcon } from '@splunk/visualization-icons';\nimport { Events as EventsPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {};\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n {\n name: 'fieldsummary',\n description: 'DataSource that powers the field summary popover on field click',\n },\n ],\n initialRequestParams: {\n primary: (options: { count?: number } = {}): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 500,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background by using a hexadecimal code. For example, #0000FF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n eventActions: {\n default: [],\n description:\n 'Specify the available actions to take for an event. For example, `[{ \"eventType\": \"eventAction.buildEventType.click, \"label\": \"Build Event Type\" }]`. Event types should end in `.click` if utilizing event handlers.',\n type: 'array',\n items: {\n type: 'object',\n properties: {\n eventType: {\n description: 'The distinct type for the event emitted upon event action click.',\n type: 'string',\n pattern: '.click$',\n default: '',\n },\n label: {\n description: 'The label for the event action.',\n type: 'string',\n default: '',\n },\n },\n required: ['eventType', 'label'],\n },\n },\n fieldActions: {\n description:\n 'Specify the available actions for this field. For example, `{ default: [{ \"eventType\": \"fieldAction.sharedAction1.click, \"label\": \"Shared Action 1\" }] }`. Event types should end in `.click` if utilizing event handlers. Actions under the `default` key are shared across all field dropdowns.',\n type: 'object',\n },\n showFieldSummary: {\n description:\n 'Specify that a field summary popup appears when a field is selected. To show field summaries for a search, configure an additional datasource called `fieldsummary` using the original search followed by the `... | fieldsummary maxvals=10` SPL command.',\n type: 'boolean',\n default: true,\n },\n footerFields: {\n description:\n 'Specify field(s) that should be displayed in the footer component. Specify one or more fields to display in the footer component. For example, specify [\"source\", \"dest\"] to display the source and destination fields.',\n type: 'array',\n items: {\n type: 'string',\n },\n default: [],\n },\n // footerFieldsHighlighted: {\n // description: 'Specify values to be highlighted in the footer component',\n // type: 'array',\n // items: {\n // type: 'string',\n // },\n // default: [],\n // },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Color and style'),\n layout: [getBackgroundColorEditor({ themes })],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show field summary'),\n option: 'showFieldSummary',\n editor: 'editor.checkbox',\n editorProps: {\n labelPosition: 'right',\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.events',\n /**\n * viz name\n */\n name: 'Events',\n category: VizCategory.TABLE,\n status: 'preview',\n /**\n * viz icon\n */\n icon: EventsIcon,\n placeholderIcon: EventsPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'eventAction.<actionName>.click': {\n description:\n 'Triggered when a user selects the Event Actions button within an event. An application developer can configure workflow action retrieval and event handling, as described in the Concepts tab.',\n },\n 'fieldAction.<actionName>.click': {\n description:\n 'Triggered when a user selects an arrow under the Actions column heading. Application developers can configure workflow action retrieval and event handling. For more information, see the Concepts tab.',\n },\n 'events.search.<fieldSummaryReportActionName>': {\n description:\n 'Triggered when a user selects a report action in the field summary of an event. Application developers must pass context and handle events in their applications. For more information, see the Concepts tab.',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import * as React from 'react';\nimport { useContext } from 'react';\nimport * as T from 'prop-types';\nimport EventsViewer from '@splunk/react-events-viewer/components/EventsViewer';\nimport type { EventsViewerOptions } from '@splunk/react-events-viewer/components/EventsViewer';\nimport { EventActionType, FieldActionType } from '@splunk/react-events-viewer/common-types';\nimport { FieldData } from '@splunk/react-field-summary/components/FieldSummary';\nimport { PaginationParamsType } from '@splunk/react-visualization-utils/propUtils';\n\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport EventsContext from '@splunk/visualization-context/EventsContext';\nimport type { EventsContextInterface, Action } from '@splunk/visualization-context/EventsContext';\nimport { noop, isNumber, get } from 'lodash';\nimport Menu from '@splunk/react-ui/Menu';\n\nimport { EMPTY_DATASOURCE } from '../docs/constants';\nimport withFixedSizeContainer from '../../common/hocs/FixedSizeContainer';\nimport { DataSource } from '../../common/interfaces/DataSource';\nimport {\n convertToPayloadFormat,\n getFieldSummaryMapping,\n mergeEventActions,\n mergeFieldActions,\n} from '../EventUtils';\nimport FieldSummaryTooltip from './FieldSummaryTooltip';\n\n// Inspired by VizTableContainer in PureTable.tsx\nconst EventsContainer = styled.div<{\n width: string | number;\n height: string | number;\n backgroundColor: string;\n}>`\n width: ${props => (isNumber(props.width) ? `${props.width}px` : props.width)};\n height: ${props => (isNumber(props.height) ? `${props.height}px` : props.height)};\n box-sizing: border-box;\n padding: ${pick({\n enterprise: variables.spacingHalf,\n prisma: variables.spacingSmall,\n })};\n display: flex;\n flex-flow: column nowrap;\n overflow: hidden;\n\n /* Added, but is technically handled by FixedSizeContainer. */\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor};\n\n /* Required as odd rows have a transparent background color and would appear as the passed background color otherwise */\n table[data-test='main-table'] {\n background-color: ${pick({\n enterprise: variables.backgroundColorPage,\n prisma: variables.backgroundColorPage,\n })};\n }\n`;\n\n// Inspired by SUITableContainer in PureTable.tsx\nconst SUIEventsViewerContainer = styled.div<{\n width: string | number;\n height: string | number;\n}>`\n box-sizing: border-box;\n flex-grow: 1;\n overflow: hidden;\n\n ${({ width, height, theme }: any): string => {\n const padding = pick({\n enterprise: variables.spacingHalf({ theme }),\n prisma: variables.spacingSmall({ theme }),\n })({ theme }) as string;\n const paddingOffset = parseInt(padding, 10) * 2;\n return toDimension({\n width: width - paddingOffset,\n height: height - paddingOffset,\n });\n }};\n`;\n\ninterface EventsProps {\n // width, height, and backgroundColor optional because of withFixedSizeContainer HOC\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n mode?: string;\n dataSources?: { [name: string]: DataSource };\n eventActions?: Action[];\n fieldActions?: Record<string, Action[]>;\n showFieldSummary?: boolean;\n footerFields?: string[];\n // footerFieldsHighlighted?: string[];\n onOptionsChange?: (data: { [key: string]: string | boolean | Array<number> }) => void;\n onRequestParamsChange?: (\n str: string,\n data: PaginationParamsType & { offset: number; count: number }\n ) => void;\n onEventTrigger?: (...args: any[]) => void;\n}\n\n// Effectively the pure visualization component for Events, passing through the necessary state and callbacks.\nconst PureEvents = (props: EventsProps) => {\n const {\n width,\n height,\n backgroundColor,\n dataSources,\n eventActions: eventActionsProps,\n fieldActions: fieldActionsProps,\n showFieldSummary,\n footerFields,\n // footerFieldsHighlighted,\n onOptionsChange,\n onRequestParamsChange,\n onEventTrigger,\n } = props;\n\n const fieldSummaryMap: { [key: string]: FieldData } = React.useMemo(() => {\n // if the `fieldsummary` datasource isn't configured, no field summary can be shown\n if (!showFieldSummary || !get(dataSources, 'fieldsummary')) {\n return {};\n }\n\n try {\n const fieldSummaryMapping = getFieldSummaryMapping(\n dataSources.fieldsummary?.data?.columns,\n dataSources.fieldsummary?.data?.fields\n );\n\n return fieldSummaryMapping;\n } catch (e) {\n console.error(`Unexpected error parsing fieldsummary datasource: + ${e.message}`);\n return {};\n }\n }, [dataSources, showFieldSummary]);\n\n const {\n eventActions: eventActionsContext = [],\n fieldActions: fieldActionsContext = {},\n } = useContext<EventsContextInterface>(EventsContext);\n\n const eventActions = mergeEventActions(eventActionsProps, eventActionsContext);\n const fieldActions = mergeFieldActions(fieldActionsProps, fieldActionsContext);\n const [fieldSummaryField, setFieldSummaryField] = React.useState(null);\n const [fieldSummaryAnchor, setFieldSummaryAnchor] = React.useState(null);\n\n // creates array menu components to display in the Event Actions dropdown\n const renderEventActions: EventActionType[] = React.useMemo(\n () =>\n !Array.isArray(eventActions) || eventActions.length === 0\n ? null\n : eventActions.map(({ eventType, label }) => {\n const onMenuItemClick = e => {\n const payload = convertToPayloadFormat(e.event);\n\n onEventTrigger({\n originalEvent: e,\n type: eventType,\n payload,\n });\n };\n\n // eslint-disable-next-line react/display-name\n return event => (\n <Menu.Item key={`event-action-${label}`} onClick={() => onMenuItemClick(event)}>\n {label}\n </Menu.Item>\n );\n }),\n [eventActions]\n );\n\n // creates map of field names to array of menu components to display in its respective dropdown\n // in the Actions column\n const renderFieldActions: FieldActionType = React.useMemo(() => {\n // undefined hides the Actions column, per logic in SUI EventsViewer\n if (typeof fieldActions !== 'object' || Object.keys(fieldActions).length === 0) return undefined;\n\n const fieldActionsMap = Object.keys(fieldActions).reduce((currFieldActionsMap, fieldName) => {\n // eslint-disable-next-line no-param-reassign\n currFieldActionsMap[fieldName] = fieldActions[fieldName].map(({ eventType, label }) => {\n const onMenuItemClick = e => {\n const payload = convertToPayloadFormat(e.event, { name: e.field, value: e.value });\n\n onEventTrigger({\n originalEvent: e,\n type: eventType,\n payload,\n });\n };\n\n // eslint-disable-next-line react/display-name\n return event => (\n <Menu.Item\n key={`${fieldName}-field-action-${label}`}\n onClick={() => onMenuItemClick(event)}\n >\n {label}\n </Menu.Item>\n );\n });\n\n return currFieldActionsMap;\n }, {});\n\n return fieldActionsMap;\n }, [fieldActions]);\n\n // formulate the options object required by the SUI EventsViewer component\n const suiEventsViewerOptions: EventsViewerOptions = {\n renderEventActions,\n renderFieldActions,\n footerFields,\n };\n\n const handleFieldClicked =\n showFieldSummary &&\n ((e, { field }) => {\n setFieldSummaryField(field);\n setFieldSummaryAnchor(e.currentTarget.parentElement);\n });\n\n const handleActionClicked = (event, data) => {\n const { action: actionType, field } = data;\n\n onEventTrigger({\n originalEvent: event,\n type: `events.search.${actionType}`,\n payload: {\n field,\n },\n });\n };\n\n return (\n <EventsContainer backgroundColor={backgroundColor} width={width} height={height}>\n <SUIEventsViewerContainer width={width} height={height}>\n <EventsViewer\n options={suiEventsViewerOptions}\n onOptionsChange={onOptionsChange}\n dataSources={dataSources}\n onRequestParamsChange={onRequestParamsChange}\n onFieldClicked={handleFieldClicked}\n />\n <FieldSummaryTooltip\n open={!!fieldSummaryAnchor && !!fieldSummaryField}\n anchor={fieldSummaryAnchor}\n handleTooltipClose={() => {\n setFieldSummaryField(null);\n setFieldSummaryAnchor(null);\n }}\n fieldName={fieldSummaryField}\n fieldSummaryMap={fieldSummaryMap}\n onActionClicked={handleActionClicked}\n />\n </SUIEventsViewerContainer>\n </EventsContainer>\n );\n};\n\nPureEvents.propTypes = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // need this to satisfy props interface\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n backgroundColor: T.string,\n eventActions: T.arrayOf(\n T.shape({\n // key to identify this event\n eventType: T.string,\n // label for the menu item\n label: T.string,\n })\n ),\n fieldActions: T.objectOf(\n T.arrayOf(\n T.shape({\n // key to identify this event\n eventType: T.string,\n // label for the menu item\n label: T.string,\n })\n )\n ),\n showFieldSummary: T.bool,\n footerFields: T.array,\n // footerFieldsHighlighted: T.array,\n onOptionsChange: T.func,\n dataSources: T.any,\n onRequestParamsChange: T.func,\n onEventTrigger: T.func,\n};\n\nPureEvents.defaultProps = {\n width: 800,\n height: 500,\n mode: 'view',\n eventActions: [],\n fieldActions: {},\n dataSources: EMPTY_DATASOURCE,\n showFieldSummary: true,\n footerFields: [],\n // footerFieldsHighlighted: [],\n onOptionsChange: noop,\n onRequestParamsChange: noop,\n onEventTrigger: noop,\n};\n\nexport default withFixedSizeContainer(PureEvents);\n","module.exports = require(\"@splunk/react-events-viewer/components/EventsViewer\");","import type { Action } from '@splunk/visualization-context/EventsContext';\nimport { FieldData } from '@splunk/react-field-summary/components/FieldSummary';\nimport { mergeWith, union } from 'lodash';\nimport { convertToArrOfObjects } from '../common/utils/dataUtils';\n\n// util to convert a field-value map into an object with row.<fieldname>.value keys for payloads\nexport const convertToPayloadFormat = (obj, initialValue = {}) => {\n if (!obj) return {};\n\n return Object.keys(obj).reduce((acc, curr) => {\n const key = `row.${curr}.value`;\n return { ...acc, [key]: obj[curr] };\n }, initialValue);\n};\n\nexport const getFieldSummaryMapping = (columns, fields) => {\n // convert the `fieldsummary` payload to an array of objects\n const arr = convertToArrOfObjects(columns, fields);\n\n // forms an array of FieldData elements expected by the @splunk/react-field-summary component\n const fieldSummaryData: FieldData[] = arr.map(d => ({\n name: d.field,\n count: +d.count,\n distinctCount: +d.distinct_count,\n numericCount: +d.numeric_count,\n max: d.max === null ? null : +d.max,\n mean: d.mean === null ? null : +d.mean,\n min: d.min === null ? null : +d.min,\n stdev: d.stdev === null ? null : +d.stdev,\n modes: JSON.parse(d.values),\n }));\n\n // creates a map of field name to its data for O(1) retrieval in the tooltip component\n const fieldSummaryMapping = fieldSummaryData.reduce((map, fieldData) => {\n return { ...map, [fieldData.name]: fieldData };\n }, {});\n\n return fieldSummaryMapping;\n};\n\n/**\n * Helper to merge event actions into one array of event actions.\n * @method mergeEventActions\n * @param {Action[]} fieldActions1\n * @param {Action[]} fieldActions2\n * @returns {Action[]} merged event actions\n */\nexport const mergeEventActions = (eventActions1: Action[], eventActions2: Action[]): Action[] =>\n eventActions1.concat(eventActions2);\n\n/**\n * Helper to merge field actions. If same key exists in both field actions,\n * combine each array of actions under one key.\n * @method mergeFieldActions\n * @param {Record<string, Action[]>} fieldActions1\n * @param {Record<string, Action[]>} fieldActions2\n * @returns {Record<string, Action[]>} merged field actions\n */\nexport const mergeFieldActions = (\n fieldActions1: Record<string, Action[]>,\n fieldActions2: Record<string, Action[]>\n): Record<string, Action[]> => {\n return mergeWith(fieldActions1, fieldActions2, (fieldAction1value, fieldAction2value) =>\n Array.isArray(fieldAction1value) && Array.isArray(fieldAction2value)\n ? union(fieldAction1value, fieldAction2value)\n : undefined\n );\n};\n","import * as React from 'react';\nimport { useCallback, useContext, SyntheticEvent } from 'react';\n\nimport Popover from '@splunk/react-ui/Popover';\nimport Markdown from '@splunk/react-ui/Markdown';\nimport FieldSummary, { FieldData, Action } from '@splunk/react-field-summary/components/FieldSummary';\nimport { noop } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport styled from 'styled-components';\nimport EventsContext from '@splunk/visualization-context/EventsContext';\nimport type { EventsContextInterface } from '@splunk/visualization-context/EventsContext';\n\nexport interface FieldSummaryTooltipProps {\n open: boolean;\n anchor?: HTMLElement;\n handleTooltipClose: () => void;\n fieldName: string;\n fieldSummaryMap: { [key: string]: FieldData };\n onActionClicked: (e: SyntheticEvent, data: { action: string; field: string; selected: string[] }) => void;\n}\n\nconst popoverContainerStyle: React.CSSProperties = { padding: '20px', width: 500 };\n\nconst StyledMarkdown = styled(Markdown)`\n /* removes unnecessary margin on the internal paragraph component */\n p {\n margin: 0;\n }\n`;\n\nconst actionsForField = (field: FieldData): Action[] => {\n const actions = [];\n\n // this logic is used in determining whether to display numeric stats in ui-platform (FieldStats.tsx)\n if (typeof field.mean === 'number') {\n actions.push({ name: 'avgByTime', label: _('Average over time') });\n actions.push({ name: 'maxByTime', label: _('Max value over time') });\n actions.push({ name: 'minByTime', label: _('Min value over time') });\n }\n\n actions.push({ name: 'topValues', label: _('Top values') });\n actions.push({ name: 'topValuesByTime', label: _('Top values by time') });\n actions.push({ name: 'rareValues', label: _('Rare values') });\n actions.push({ name: 'allValues', label: _('Events with this field') });\n\n return actions;\n};\n\nconst FieldSummaryTooltip = (props: FieldSummaryTooltipProps): React.ReactElement => {\n const { open, anchor, handleTooltipClose, fieldName, fieldSummaryMap, onActionClicked } = props;\n\n const { isSplunkWebAvailable } = useContext<EventsContextInterface>(EventsContext);\n\n const getActionsForField = useCallback(\n (field: FieldData) => (isSplunkWebAvailable ? actionsForField(field) : []),\n [isSplunkWebAvailable]\n );\n\n // if the anchor is null or no field has been clicked, do not render the tooltip\n if (!open) return null;\n\n // retrieve the field summary for this field. if there is no field data, show fallback messaging\n const field = fieldSummaryMap[fieldName];\n const fieldSummaryExists = !!field;\n\n const fallbackText = _(\n `Please configure an additional datasource called \\`fieldsummary\\` using the \\`... | fieldsummary maxvals=10\\` SPL command for field summaries to be shown.`\n );\n\n return (\n <Popover open={open} defaultPlacement=\"below\" anchor={anchor} onRequestClose={handleTooltipClose}>\n <div style={popoverContainerStyle}>\n {fieldSummaryExists ? (\n <FieldSummary\n eventCount={field.count}\n field={field}\n actionsForField={getActionsForField}\n onActionClicked={onActionClicked}\n />\n ) : (\n <StyledMarkdown text={fallbackText} />\n )}\n </div>\n </Popover>\n );\n};\n\nFieldSummaryTooltip.defaultProps = {\n open: false,\n anchor: null,\n fieldName: '',\n fieldSummaryMap: {},\n handleTooltipClose: noop,\n onActionClicked: noop,\n};\n\nexport default FieldSummaryTooltip;\n","module.exports = require(\"@splunk/react-field-summary/components/FieldSummary\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"lodash\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/moment\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/themes\"","webpack:///external \"@splunk/visualizations-shared/dataSourceUtils\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///external \"@splunk/react-ui/Menu\"","webpack:///./src/common/utils/dataUtils.ts","webpack:///external \"@splunk/react-ui/Markdown\"","webpack:///./src/Events/Events.tsx","webpack:///./src/Events/docs/constants.js","webpack:///external \"@splunk/visualization-context/EventsContext\"","webpack:///external \"@splunk/datasource-utils/DataSet\"","webpack:///./src/Events/index.ts","webpack:///./src/Events/config.ts","webpack:///./src/Events/PureEvents/PureEvents.tsx","webpack:///external \"@splunk/react-events-viewer/components/EventsViewer\"","webpack:///./src/Events/EventUtils.ts","webpack:///./src/Events/PureEvents/FieldSummaryTooltip.tsx","webpack:///external \"@splunk/react-field-summary/components/FieldSummary\""],"names":["rawEventPayload","preview","init_offset","messages","fields","name","results","host","source","sourcetype","splunk_server","index","_raw","value","_time","linecount","trunc","highlighted","_internal","originalDataSourceData","DataSet","dataSourceData","columns","EMPTY_DATASOURCE","primary","requestParams","offset","count","data","meta","totalCount","FIELDSUMMARY_DS_STORYBOOK","FIELDSUMMARY_DS_DOC_HUB"],"mappings":"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","file":"Events.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 183);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"lodash\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={__VISION_VERSION__}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n iconColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n iconColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\n\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\n }\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n ]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptions[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/moment\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\nexport interface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/themes\");","module.exports = require(\"@splunk/visualizations-shared/dataSourceUtils\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"@splunk/react-ui/Popover\");","module.exports = require(\"@splunk/react-ui/Menu\");","// TODO: utilize this fn in ParallelCoordinates\nexport const convertToArrOfObjects = (columns, fields) => {\n if (!columns || !columns[0].length) return [];\n\n const data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n const fieldName = typeof field === 'string' ? field : field.name;\n if (columns[index][i] === '') {\n newObj[fieldName] = null;\n } else {\n newObj[fieldName] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n return data;\n};\n","module.exports = require(\"@splunk/react-ui/Markdown\");","import { get } from 'lodash';\nimport { getDataSourceStateInfo, DataSourceState } from '@splunk/visualizations-shared/dataSourceUtils';\n\nimport withDashboardViz, { DashboardVizOpts } from '../common/withDashboardViz';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport { EMPTY_DATASOURCE } from './docs/constants';\nimport config from './config';\n\nimport PureEvents from './PureEvents/PureEvents';\n\n/**\n * @method showPlaceHolderIcon\n * @param {Object} dataSources\n * @returns {Boolean} return true if loading, error, non existent state or without columns in dataSources\n */\nexport const showPlaceHolderIcon = dataSources => {\n const columns = get(dataSources, 'primary.data.columns', undefined);\n const noColumns = columns === undefined;\n const dataSourceState = getDataSourceStateInfo(dataSources);\n\n return (\n dataSourceState === DataSourceState.ERROR ||\n dataSourceState === DataSourceState.LOADING ||\n dataSourceState === DataSourceState.NONEXISTENT ||\n noColumns\n );\n};\n\nexport const computeVizProps = ({ ...props }) => {\n // for specific changes to view type (List -> Raw, etc.), can create handling function here that calls onOptionsChange\n\n // defaults to an empty datasource if one isn't provided, which shows the No Results Found UI:\n const dataSources = props?.dataSources ?? EMPTY_DATASOURCE;\n\n return { ...props, dataSources };\n};\n\nconst Events = withDashboardViz({\n ReactViz: PureEvents,\n vizConfig: config,\n computeVizProps,\n useIconPlaceholder: (dataSources: { [name: string]: DataSource }) => showPlaceHolderIcon(dataSources),\n} as DashboardVizOpts);\nconst { themes } = config;\nexport default Events;\nexport { themes, config, PureEvents };\n","// TODO: convert this file to .ts - created as .js as copied from SUI EventsViewer repo\nimport DataSet from '@splunk/datasource-utils/DataSet';\n\nexport const rawEventPayload = {\n preview: false,\n init_offset: 0,\n messages: [],\n fields: [\n {\n name: 'host',\n },\n {\n name: 'source',\n },\n {\n name: 'sourcetype',\n },\n {\n name: 'splunk_server',\n },\n {\n name: 'index',\n },\n {\n name: '_raw',\n },\n {\n name: '_time',\n },\n {\n name: 'eventtype',\n },\n {\n name: '_eventtype_color',\n },\n {\n name: 'linecount',\n },\n {\n name: '_fulllinecount',\n },\n ],\n results: [\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '{\"datetime\":\"07-16-2018 16:38:11.545 -0700\",\"log_level\":\"INFO\",\"component\":\"KVStoreServerStats\",\"data\":{\"host\":\"ssingamneni-mbp13:8191\",\"version\":\"3.4.9-splunk\",\"process\":\"mongod\",\"pid\":21585,\"uptime\":20886,\"uptimeMillis\":20886042,\"uptimeEstimate\":20886,\"localTime\":1531784291541,\"asserts\":{\"regular\":0,\"warning\":0,\"msg\":0,\"user\":0,\"rollovers\":0},\"backgroundFlushing\":{\"flushes\":270,\"total_ms\":4429,\"average_ms\":16.403703703703705,\"last_ms\":27,\"last_finished\":1531784263582},\"connections\":{\"current\":9,\"available\":8183,\"totalCreated\":13},\"dur\":{\"commits\":28,\"journaledMB\":0,\"writeToDataFilesMB\":0,\"compression\":0,\"commitsInWriteLock\":0,\"earlyCommits\":0,\"timeMs\":{\"dt\":3013,\"prepLogBuffer\":0,\"writeToJournal\":0,\"writeToDataFiles\":0,\"remapPrivateView\":0,\"commits\":1,\"commitsInWriteLock\":0}},\"extra_info\":{\"note\":\"fields vary by platform\",\"page_faults\":36543},\"globalLock\":{\"totalTime\":20885955000,\"currentQueue\":{\"total\":0,\"readers\":0,\"writers\":0},\"activeClients\":{\"total\":27,\"readers\":0,\"writers\":0}},\"locks\":{\"Global\":{\"acquireCount\":{\"r\":242994,\"w\":4136,\"R\":1,\"W\":5}},\"MMAPV1Journal\":{\"acquireCount\":{\"r\":127466,\"w\":4168,\"R\":149384,\"W\":190},\"acquireWaitCount\":{\"w\":28,\"R\":27},\"timeAcquiringMicros\":{\"w\":4320,\"R\":45261}},\"Database\":{\"acquireCount\":{\"r\":127257,\"w\":2479,\"R\":226,\"W\":36}},\"Collection\":{\"acquireCount\":{\"R\":105833,\"W\":573}},\"Metadata\":{\"acquireCount\":{\"w\":1906}},\"oplog\":{\"acquireCount\":{\"R\":21094,\"W\":1906}}},\"network\":{\"bytesIn\":4616571,\"bytesOut\":24319954,\"physicalBytesIn\":4616571,\"physicalBytesOut\":24319954,\"numRequests\":77719},\"opLatencies\":{\"reads\":{\"latency\":663793,\"ops\":17069},\"writes\":{\"latency\":12666524,\"ops\":569},\"commands\":{\"latency\":945488,\"ops\":21221}},\"opcounters\":{\"insert\":0,\"query\":17070,\"update\":569,\"delete\":0,\"getmore\":0,\"command\":21222},\"opcountersRepl\":{\"insert\":0,\"query\":0,\"update\":0,\"delete\":0,\"getmore\":0,\"command\":0},\"repl\":{\"hosts\":[\"127.0.0.1:8191\"],\"setName\":\"00BBEAFD-8B78-4F58-90B9-E7F3E9CBB249\",\"setVersion\":1,\"ismain\":true,\"secondary\":false,\"primary\":\"127.0.0.1:8191\",\"tags\":{\"all\":\"all\",\"instance\":\"00BBEAFD-8B78-4F58-90B9-E7F3E9CBB249\"},\"me\":\"127.0.0.1:8191\",\"electionId\":{\"$oid\":\"7fffffff000000000000000b\"},\"lastWrite\":{\"opTime\":{\"ts\":{\"$timestamp\":{\"t\":1531784281,\"i\":2}},\"t\":11},\"lastWriteDate\":{\"$date\":1531784281000}},\"rbid\":673893},\"security\":{\"SSLServerSubjectName\":\"O=SplunkUser,CN=SplunkServerDefaultCert\",\"SSLServerHasCertificateAuthority\":false,\"SSLServerCertificateExpirationDate\":{\"$date\":1622326898000}},\"storageEngine\":{\"name\":\"mmapv1\",\"supportsCommittedReads\":false,\"readOnly\":false,\"persistent\":true},\"mem\":{\"bits\":64,\"resident\":123,\"virtual\":5307,\"supported\":true,\"mapped\":448,\"mappedWithJournal\":896},\"metrics\":{\"commands\":{\"<UNKNOWN>\":0,\"_configsvrAddShard\":{\"failed\":0,\"total\":0},\"_configsvrAddShardToZone\":{\"failed\":0,\"total\":0},\"_configsvrBalancerStart\":{\"failed\":0,\"total\":0},\"_configsvrBalancerStatus\":{\"failed\":0,\"total\":0},\"_configsvrBalancerStop\":{\"failed\":0,\"total\":0},\"_configsvrCommitChunkMerge\":{\"failed\":0,\"total\":0},\"_configsvrCommitChunkMigration\":{\"failed\":0,\"total\":0},\"_configsvrCommitChunkSplit\":{\"failed\":0,\"total\":0},\"_configsvrMoveChunk\":{\"failed\":0,\"total\":0},\"_configsvrRemoveShardFromZone\":{\"failed\":0,\"total\":0},\"_configsvrSetFeatureCompatibilityVersion\":{\"failed\":0,\"total\":0},\"_configsvrUpdateZoneKeyRange\":{\"failed\":0,\"total\":0},\"_getUserCacheGeneration\":{\"failed\":0,\"total\":0},\"_isSelf\":{\"failed\":0,\"total\":0},\"_mergeAuthzCollections\":{\"failed\":0,\"total\":0},\"_migrateClone\":{\"failed\":0,\"total\":0},\"_recvChunkAbort\":{\"failed\":0,\"total\":0},\"_recvChunkCommit\":{\"failed\":0,\"total\":0},\"_recvChunkStart\":{\"failed\":0,\"total\":0},\"_recvChunkStatus\":{\"failed\":0,\"total\":0},\"_transferMods\":{\"failed\":0,\"total\":0},\"aggregate\":{\"failed\":0,\"total\":0},\"appendOplogNote\":{\"failed\":0,\"total\":0},\"applyOps\":{\"failed\":0,\"total\":0},\"authSchemaUpgrade\":{\"failed\":0,\"total\":0},\"authenticate\":{\"failed\":0,\"total\":0},\"availableQueryOptions\":{\"failed\":0,\"total\":0},\"buildInfo\":{\"failed\":0,\"total\":0},\"checkShardingIndex\":{\"failed\":0,\"total\":0},\"cleanupOrphaned\":{\"failed\":0,\"total\":0},\"clone\":{\"failed\":0,\"total\":0},\"cloneCollection\":{\"failed\":0,\"total\":0},\"cloneCollectionAsCapped\":{\"failed\":0,\"total\":0},\"collMod\":{\"failed\":0,\"total\":0},\"collStats\":{\"failed\":0,\"total\":383},\"compact\":{\"failed\":0,\"total\":0},\"connPoolStats\":{\"failed\":0,\"total\":0},\"connPoolSync\":{\"failed\":0,\"total\":0},\"connectionStatus\":{\"failed\":0,\"total\":0},\"convertToCapped\":{\"failed\":0,\"total\":0},\"copydb\":{\"failed\":0,\"total\":0},\"copydbgetnonce\":{\"failed\":0,\"total\":0},\"copydbsaslstart\":{\"failed\":0,\"total\":0},\"count\":{\"failed\":0,\"total\":0},\"create\":{\"failed\":0,\"total\":0},\"createIndexes\":{\"failed\":0,\"total\":0},\"createRole\":{\"failed\":0,\"total\":0},\"createUser\":{\"failed\":0,\"total\":0},\"currentOp\":{\"failed\":0,\"total\":0},\"currentOpCtx\":{\"failed\":0,\"total\":0},\"dataSize\":{\"failed\":0,\"total\":0},\"dbHash\":{\"failed\":0,\"total\":0},\"dbStats\":{\"failed\":0,\"total\":0},\"delete\":{\"failed\":0,\"total\":0},\"diagLogging\":{\"failed\":0,\"total\":0},\"distinct\":{\"failed\":0,\"total\":0},\"driverOIDTest\":{\"failed\":0,\"total\":0},\"drop\":{\"failed\":0,\"total\":0},\"dropAllRolesFromDatabase\":{\"failed\":0,\"total\":0},\"dropAllUsersFromDatabase\":{\"failed\":0,\"total\":0},\"dropDatabase\":{\"failed\":0,\"total\":0},\"dropIndexes\":{\"failed\":0,\"total\":0},\"dropRole\":{\"failed\":0,\"total\":0},\"dropUser\":{\"failed\":0,\"total\":0},\"eval\":{\"failed\":0,\"total\":0},\"explain\":{\"failed\":0,\"total\":0},\"features\":{\"failed\":0,\"total\":0},\"filemd5\":{\"failed\":0,\"total\":0},\"find\":{\"failed\":0,\"total\":4088},\"findAndModify\":{\"failed\":0,\"total\":0},\"forceerror\":{\"failed\":0,\"total\":0},\"fsync\":{\"failed\":0,\"total\":0},\"fsyncUnlock\":{\"failed\":0,\"total\":0},\"geoNear\":{\"failed\":0,\"total\":0},\"geoSearch\":{\"failed\":0,\"total\":0},\"getCmdLineOpts\":{\"failed\":0,\"total\":3543},\"getDiagnosticData\":{\"failed\":0,\"total\":0},\"getLastError\":{\"failed\":0,\"total\":0},\"getLog\":{\"failed\":0,\"total\":0},\"getMore\":{\"failed\":0,\"total\":0},\"getParameter\":{\"failed\":0,\"total\":0},\"getPrevError\":{\"failed\":0,\"total\":0},\"getShardMap\":{\"failed\":0,\"total\":0},\"getShardVersion\":{\"failed\":0,\"total\":0},\"getnonce\":{\"failed\":0,\"total\":0},\"grantPrivilegesToRole\":{\"failed\":0,\"total\":0},\"grantRolesToRole\":{\"failed\":0,\"total\":0},\"grantRolesToUser\":{\"failed\":0,\"total\":0},\"group\":{\"failed\":0,\"total\":0},\"handshake\":{\"failed\":0,\"total\":0},\"hostInfo\":{\"failed\":0,\"total\":0},\"insert\":{\"failed\":0,\"total\":0},\"invalidateUserCache\":{\"failed\":0,\"total\":0},\"isMain\":{\"failed\":0,\"total\":4877},\"killCursors\":{\"failed\":0,\"total\":0},\"killOp\":{\"failed\":0,\"total\":0},\"listCollections\":{\"failed\":0,\"total\":220},\"listCommands\":{\"failed\":0,\"total\":0},\"listDatabases\":{\"failed\":0,\"total\":55},\"listIndexes\":{\"failed\":0,\"total\":0},\"lockInfo\":{\"failed\":0,\"total\":0},\"logRotate\":{\"failed\":0,\"total\":0},\"logout\":{\"failed\":0,\"total\":0},\"mapReduce\":{\"failed\":0,\"total\":0},\"mapreduce\":{\"shardedfinish\":{\"failed\":0,\"total\":0}},\"mergeChunks\":{\"failed\":0,\"total\":0},\"moveChunk\":{\"failed\":0,\"total\":0},\"parallelCollectionScan\":{\"failed\":0,\"total\":0},\"ping\":{\"failed\":0,\"total\":7692},\"planCacheClear\":{\"failed\":0,\"total\":0},\"planCacheClearFilters\":{\"failed\":0,\"total\":0},\"planCacheListFilters\":{\"failed\":0,\"total\":0},\"planCacheListPlans\":{\"failed\":0,\"total\":0},\"planCacheListQueryShapes\":{\"failed\":0,\"total\":0},\"planCacheSetFilter\":{\"failed\":0,\"total\":0},\"profile\":{\"failed\":0,\"total\":4},\"reIndex\":{\"failed\":0,\"total\":0},\"renameCollection\":{\"failed\":0,\"total\":0},\"repairCursor\":{\"failed\":0,\"total\":0},\"repairDatabase\":{\"failed\":0,\"total\":0},\"replSetAbortPrimaryCatchUp\":{\"failed\":0,\"total\":0},\"replSetElect\":{\"failed\":0,\"total\":0},\"replSetFreeze\":{\"failed\":0,\"total\":0},\"replSetFresh\":{\"failed\":0,\"total\":0},\"replSetGetConfig\":{\"failed\":0,\"total\":0},\"replSetGetRBID\":{\"failed\":0,\"total\":0},\"replSetGetStatus\":{\"failed\":0,\"total\":3816},\"replSetHeartbeat\":{\"failed\":0,\"total\":0},\"replSetInitiate\":{\"failed\":0,\"total\":0},\"replSetMaintenance\":{\"failed\":0,\"total\":0},\"replSetReconfig\":{\"failed\":0,\"total\":0},\"replSetRequestVotes\":{\"failed\":0,\"total\":0},\"replSetStepDown\":{\"failed\":0,\"total\":0},\"replSetStepUp\":{\"failed\":0,\"total\":0},\"replSetSyncFrom\":{\"failed\":0,\"total\":0},\"replSetUpdatePosition\":{\"failed\":0,\"total\":0},\"resetError\":{\"failed\":0,\"total\":0},\"resync\":{\"failed\":0,\"total\":0},\"revokePrivilegesFromRole\":{\"failed\":0,\"total\":0},\"revokeRolesFromRole\":{\"failed\":0,\"total\":0},\"revokeRolesFromUser\":{\"failed\":0,\"total\":0},\"rolesInfo\":{\"failed\":0,\"total\":0},\"saslContinue\":{\"failed\":0,\"total\":20},\"saslStart\":{\"failed\":0,\"total\":10},\"serverStatus\":{\"failed\":0,\"total\":602},\"setFeatureCompatibilityVersion\":{\"failed\":0,\"total\":0},\"setParameter\":{\"failed\":0,\"total\":0},\"setShardVersion\":{\"failed\":0,\"total\":0},\"shardConnPoolStats\":{\"failed\":0,\"total\":0},\"shardingState\":{\"failed\":0,\"total\":0},\"shutdown\":{\"failed\":0,\"total\":0},\"splitChunk\":{\"failed\":0,\"total\":0},\"splitVector\":{\"failed\":0,\"total\":0},\"top\":{\"failed\":0,\"total\":0},\"touch\":{\"failed\":0,\"total\":0},\"unsetSharding\":{\"failed\":0,\"total\":0},\"update\":{\"failed\":0,\"total\":569},\"updateRole\":{\"failed\":0,\"total\":0},\"updateUser\":{\"failed\":0,\"total\":0},\"usersInfo\":{\"failed\":0,\"total\":0},\"validate\":{\"failed\":0,\"total\":0},\"whatsmyuri\":{\"failed\":0,\"total\":0}},\"cursor\":{\"timedOut\":0,\"open\":{\"noTimeout\":0,\"pinned\":0,\"total\":0}},\"document\":{\"deleted\":0,\"inserted\":0,\"returned\":4101,\"updated\":569},\"getLastError\":{\"wtime\":{\"num\":569,\"totalMillis\":2},\"wtimeouts\":0},\"operation\":{\"scanAndOrder\":0,\"writeConflicts\":0},\"queryExecutor\":{\"scanned\":574,\"scannedObjects\":4670},\"record\":{\"moves\":0},\"repl\":{\"executor\":{\"counters\":{\"eventCreated\":6,\"eventWait\":6,\"cancels\":2,\"waits\":0,\"scheduledNetCmd\":0,\"scheduledDBWork\":2,\"scheduledXclWork\":0,\"scheduledWorkAt\":2,\"scheduledWork\":0,\"schedulingFailures\":0},\"queues\":{\"networkInProgress\":0,\"dbWorkInProgress\":0,\"exclusiveInProgress\":0,\"sleepers\":0,\"ready\":0,\"free\":3},\"unsignaledEvents\":0,\"eventWaiters\":0,\"shuttingDown\":false,\"networkInterface\":\"\\\\nNetworkInterfaceASIO Operations\\' Diagnostic:\\\\nOperation: Count: \\\\nConnecting 0 \\\\nIn Progress 0 \\\\nSucceeded 0 \\\\nCanceled 0 \\\\nFailed 0 \\\\nTimed Out 0 \\\\n\\\\n\"},\"apply\":{\"attemptsToBecomeSecondary\":1,\"batches\":{\"num\":0,\"totalMillis\":0},\"ops\":0},\"buffer\":{\"count\":0,\"maxSizeBytes\":268435456,\"sizeBytes\":0},\"initialSync\":{\"completed\":0,\"failedAttempts\":0,\"failures\":0},\"network\":{\"bytes\":0,\"getmores\":{\"num\":0,\"totalMillis\":0},\"ops\":0,\"readersCreated\":0},\"preload\":{\"docs\":{\"num\":0,\"totalMillis\":0},\"indexes\":{\"num\":0,\"totalMillis\":0}}},\"storage\":{\"freelist\":{\"search\":{\"bucketExhausted\":0,\"requests\":0,\"scanned\":0}}},\"ttl\":{\"deletedDocuments\":0,\"passes\":270}},\"ok\":1}}',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=thruput, instantaneous_kbps=0.8775482519547254, instantaneous_eps=3.5802456751680514, average_kbps=0.7280928568987709, total_k_processed=4794, kb=27.20703125, ev=111, load_average=2.87744140625',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.691 -0700 INFO Metrics - group=thruput, name=syslog_output, instantaneous_kbps=0, instantaneous_eps=0, average_kbps=0, total_k_processed=0, kb=0, ev=0',\n },\n _time: '2018-04-02T16:33:49.691-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=thruput, name=index_thruput, instantaneous_kbps=0.8775484783935827, instantaneous_eps=3.0319205432969385, average_kbps=0.7287044552121656, total_k_processed=4798, kb=27.20703125, ev=94',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=queue, name=typingqueue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=24, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=queue, name=tcpin_queue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=queue, name=stashparsing, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.690 -0700 INFO Metrics - group=queue, name=splunktcpin, max_size_kb=0, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.690-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.689 -0700 INFO Metrics - group=queue, name=parsingqueue, max_size_kb=6144, current_size_kb=0, current_size=0, largest_size=2, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.689-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.689 -0700 INFO Metrics - group=queue, name=nullqueue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=1, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.689-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.689 -0700 INFO Metrics - group=queue, name=indexqueue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=74, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.689-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.689 -0700 INFO Metrics - group=queue, name=httpinputq, max_size_kb=0, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.689-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.688 -0700 INFO Metrics - group=queue, name=fschangemanager_queue, max_size_kb=5120, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.688-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.688 -0700 INFO Metrics - group=queue, name=fifointernalq, max_size_kb=0, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.688-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.688 -0700 INFO Metrics - group=queue, name=execprocessorinternalq, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.688-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.688 -0700 INFO Metrics - group=queue, name=auditqueue, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=1, smallest_size=0',\n trunc: false,\n },\n _time: '2018-04-02T16:33:49.688-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=queue, name=aggqueue, max_size_kb=1024, current_size_kb=0, current_size=0, largest_size=81, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=queue, name=udp_queue, max_size_kb=0, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=queue, name=aq, max_size_kb=10240, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=queue, name=aeq, max_size_kb=500, current_size_kb=0, current_size=0, largest_size=0, smallest_size=0',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n {\n host: 'jbreeden-mbpr15',\n source:\n '/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log',\n sourcetype: 'splunkd',\n splunk_server: 'jbreeden-mbpr15',\n index: '_internal',\n _raw: {\n value:\n '04-02-2018 16:33:49.687 -0700 INFO Metrics - group=per_sourcetype_thruput, series=\"splunkd_ui_access\", kbps=0.07254104896811675, eps=0.5160714486728722, kb=2.2490234375, ev=16, avg_age=0.125, max_age=1',\n },\n _time: '2018-04-02T16:33:49.687-07:00',\n linecount: '1',\n },\n ],\n highlighted: {\n index: {\n _internal: true,\n },\n },\n};\n\n// Datasource utilized in example on @splunk/react-events-viewer docs\nexport const originalDataSourceData = DataSet.fromJSONArray(rawEventPayload.fields, rawEventPayload.results);\n\n// Replaces _raw object with the value of the `value` key - this is the string expected in Dashboard Studio payload\noriginalDataSourceData.columns[5] = originalDataSourceData.columns[5].map(_raw => _raw.value);\n\n// Exports payload with expected shape of Dashboard Studio payload - fields as an array of strings, and columns\n// as arrays of data primitives like strings and numbers\n// Component works with either [{ name: `field` }, ...] or [`field`,...] format - leaving as array as objects as\n// expected in Dashboard Studio payload\nexport const dataSourceData = {\n fields: rawEventPayload.fields,\n columns: originalDataSourceData.columns,\n};\n\nexport const EMPTY_DATASOURCE = {\n primary: {\n requestParams: { offset: 0, count: 0 },\n data: {\n fields: [],\n columns: [],\n },\n meta: { totalCount: 0 },\n },\n};\n\nexport const FIELDSUMMARY_DS_STORYBOOK = {\n requestParams: {},\n data: {\n fields: [\n {\n name: 'field',\n },\n {\n name: 'count',\n },\n {\n name: 'distinct_count',\n },\n {\n name: 'is_exact',\n },\n {\n name: 'max',\n },\n {\n name: 'mean',\n },\n {\n name: 'min',\n },\n {\n name: 'numeric_count',\n },\n {\n name: 'stdev',\n },\n {\n name: 'values',\n },\n ],\n columns: [\n ['host', 'index', 'linecount', 'source', 'sourcetype', 'splunk_server'],\n ['29', '29', '29', '29', '29', '29'],\n ['1', '1', '1', '1', '1', '1'],\n ['1', '1', '1', '1', '1', '1'],\n [null, null, '1', null, null, null],\n [null, null, '1', null, null, null],\n [null, null, '1', null, null, null],\n ['0', '0', '5', '0', '0', '0'],\n [null, null, '0', null, null, null],\n [\n '[{\"value\":\"jbreeden-mbpr15\",\"count\":29}]',\n '[{\"value\":\"_internal\",\"count\":29}]',\n '[{\"value\":\"1\",\"count\":29}]',\n '[{\"value\":\"/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log\",\"count\":29}]',\n '[{\"value\":\"splunkd\",\"count\":29}]',\n '[{\"value\":\"jbreeden-mbpr15\",\"count\":29}]',\n ],\n ],\n },\n meta: { totalCount: 6 },\n};\n\nexport const FIELDSUMMARY_DS_DOC_HUB = {\n requestParams: {},\n data: {\n fields: [\n {\n name: 'field',\n },\n {\n name: 'count',\n },\n {\n name: 'distinct_count',\n },\n {\n name: 'is_exact',\n },\n {\n name: 'max',\n },\n {\n name: 'mean',\n },\n {\n name: 'min',\n },\n {\n name: 'numeric_count',\n },\n {\n name: 'stdev',\n },\n {\n name: 'values',\n },\n ],\n columns: [\n ['host', 'index', 'linecount', 'source', 'sourcetype', 'splunk_server'],\n ['5', '5', '5', '5', '5', '5'],\n ['1', '1', '1', '1', '1', '1'],\n ['1', '1', '1', '1', '1', '1'],\n [null, null, '1', null, null, null],\n [null, null, '1', null, null, null],\n [null, null, '1', null, null, null],\n ['0', '0', '5', '0', '0', '0'],\n [null, null, '0', null, null, null],\n [\n '[{\"value\":\"jbreeden-mbpr15\",\"count\":5}]',\n '[{\"value\":\"_internal\",\"count\":5}]',\n '[{\"value\":\"1\",\"count\":5}]',\n '[{\"value\":\"/Users/jbreeden/splunk/releases-builds/splunk-nightlight/splunk/var/log/splunk/metrics.log\",\"count\":5}]',\n '[{\"value\":\"splunkd\",\"count\":5}]',\n '[{\"value\":\"jbreeden-mbpr15\",\"count\":5}]',\n ],\n ],\n },\n meta: { totalCount: 6 },\n};\n","module.exports = require(\"@splunk/visualization-context/EventsContext\");","module.exports = require(\"@splunk/datasource-utils/DataSet\");","export * from './Events';\nexport { default } from './Events';\n","import { Events as EventsIcon } from '@splunk/visualization-icons';\nimport { Events as EventsPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {};\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n {\n name: 'fieldsummary',\n description: 'DataSource that powers the field summary popover on field click',\n },\n ],\n initialRequestParams: {\n primary: (options: { count?: number } = {}): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 500,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background by using a hexadecimal code. For example, #0000FF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n eventActions: {\n default: [],\n description:\n 'Specify the available actions to take for an event. For example, `[{ \"eventType\": \"eventAction.buildEventType.click\", \"label\": \"Build Event Type\" }]`. Event types should end in `.click` if utilizing event handlers.',\n type: 'array',\n items: {\n type: 'object',\n properties: {\n eventType: {\n description: 'The distinct type for the event emitted upon event action click.',\n type: 'string',\n pattern: '.click$',\n default: '',\n },\n label: {\n description: 'The label for the event action.',\n type: 'string',\n default: '',\n },\n },\n required: ['eventType', 'label'],\n },\n },\n fieldActions: {\n description:\n 'Specify the available actions for this field. For example, `{ default: [{ \"eventType\": \"fieldAction.sharedAction1.click\", \"label\": \"Shared Action 1\" }] }`. Event types should end in `.click` if utilizing event handlers. Actions under the `default` key are shared across all field dropdowns.',\n type: 'object',\n },\n footerFields: {\n description:\n 'Specify field(s) that should be displayed in the footer component. Specify one or more fields to display in the footer component. For example, specify [\"source\", \"dest\"] to display the source and destination fields.',\n type: 'array',\n items: {\n type: 'string',\n },\n default: [],\n },\n highlightValuesByField: {\n description:\n 'Specify the field-value pairs to highlight. For example, `{\"source\": \"$srcToken$\", \"dest\": \"12.21.1.11\"}`',\n type: 'object',\n },\n showFieldSummary: {\n description:\n 'Specify that a field summary popup appears when a field is selected. To show field summaries for a search, configure an additional datasource called `fieldsummary` using the original search followed by the `... | fieldsummary maxvals=10` SPL command.',\n type: 'boolean',\n default: true,\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Color and style'),\n layout: [getBackgroundColorEditor({ themes })],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show field summary'),\n option: 'showFieldSummary',\n editor: 'editor.checkbox',\n editorProps: {\n labelPosition: 'right',\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.events',\n /**\n * viz name\n */\n name: 'Events',\n category: VizCategory.TABLE,\n status: 'preview',\n /**\n * viz icon\n */\n icon: EventsIcon,\n placeholderIcon: EventsPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'eventAction.<actionName>.click': {\n description:\n 'Triggered when a user selects the Event Actions button within an event. An application developer can configure workflow action retrieval and event handling, as described in the Concepts tab.',\n },\n 'fieldAction.<actionName>.click': {\n description:\n 'Triggered when a user selects an arrow under the Actions column heading. Application developers can configure workflow action retrieval and event handling. For more information, see the Concepts tab.',\n },\n 'events.search.<fieldSummaryReportActionName>': {\n description:\n 'Triggered when a user selects a report action in the field summary of an event. Application developers must pass context and handle events in their applications. For more information, see the Concepts tab.',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import * as React from 'react';\nimport { useContext } from 'react';\nimport * as T from 'prop-types';\nimport EventsViewer from '@splunk/react-events-viewer/components/EventsViewer';\nimport type { EventsViewerOptions } from '@splunk/react-events-viewer/components/EventsViewer';\nimport { EventActionType, FieldActionType } from '@splunk/react-events-viewer/common-types';\nimport { FieldData } from '@splunk/react-field-summary/components/FieldSummary';\nimport { PaginationParamsType } from '@splunk/react-visualization-utils/propUtils';\n\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport EventsContext from '@splunk/visualization-context/EventsContext';\nimport type { EventsContextInterface, Action } from '@splunk/visualization-context/EventsContext';\nimport { noop, isNumber, get } from 'lodash';\nimport Menu from '@splunk/react-ui/Menu';\n\nimport { EMPTY_DATASOURCE } from '../docs/constants';\nimport withFixedSizeContainer from '../../common/hocs/FixedSizeContainer';\nimport { DataSource } from '../../common/interfaces/DataSource';\nimport {\n convertToPayloadFormat,\n getFieldSummaryMapping,\n mergeEventActions,\n mergeFieldActions,\n} from '../EventUtils';\nimport FieldSummaryTooltip from './FieldSummaryTooltip';\n\n// Inspired by VizTableContainer in PureTable.tsx\nconst EventsContainer = styled.div<{\n width: string | number;\n height: string | number;\n backgroundColor: string;\n}>`\n width: ${props => (isNumber(props.width) ? `${props.width}px` : props.width)};\n height: ${props => (isNumber(props.height) ? `${props.height}px` : props.height)};\n box-sizing: border-box;\n padding: ${pick({\n enterprise: variables.spacingHalf,\n prisma: variables.spacingSmall,\n })};\n display: flex;\n flex-flow: column nowrap;\n overflow: hidden;\n\n /* Added, but is technically handled by FixedSizeContainer. */\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor};\n\n /* Required as odd rows have a transparent background color and would appear as the passed background color otherwise */\n table[data-test='main-table'] {\n background-color: ${pick({\n enterprise: variables.backgroundColorPage,\n prisma: variables.backgroundColorPage,\n })};\n }\n`;\n\n// Inspired by SUITableContainer in PureTable.tsx\nconst SUIEventsViewerContainer = styled.div<{\n width: string | number;\n height: string | number;\n}>`\n box-sizing: border-box;\n flex-grow: 1;\n overflow: hidden;\n\n ${({ width, height, theme }: any): string => {\n const padding = pick({\n enterprise: variables.spacingHalf({ theme }),\n prisma: variables.spacingSmall({ theme }),\n })({ theme }) as string;\n const paddingOffset = parseInt(padding, 10) * 2;\n return toDimension({\n width: width - paddingOffset,\n height: height - paddingOffset,\n });\n }};\n`;\n\ninterface EventsProps {\n // width, height, and backgroundColor optional because of withFixedSizeContainer HOC\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n mode?: string;\n dataSources?: { [name: string]: DataSource };\n eventActions?: Action[];\n fieldActions?: Record<string, Action[]>;\n showFieldSummary?: boolean;\n footerFields?: string[];\n highlightValuesByField?: Record<string, string>;\n onOptionsChange?: (data: { [key: string]: string | boolean | Array<number> }) => void;\n onRequestParamsChange?: (\n str: string,\n data: PaginationParamsType & { offset: number; count: number }\n ) => void;\n onEventTrigger?: (...args: any[]) => void;\n}\n\n// Effectively the pure visualization component for Events, passing through the necessary state and callbacks.\nconst PureEvents = (props: EventsProps) => {\n const {\n width,\n height,\n backgroundColor,\n dataSources,\n eventActions: eventActionsProps,\n fieldActions: fieldActionsProps,\n showFieldSummary,\n footerFields,\n highlightValuesByField,\n onOptionsChange,\n onRequestParamsChange,\n onEventTrigger,\n } = props;\n\n const fieldSummaryMap: { [key: string]: FieldData } = React.useMemo(() => {\n // if the `fieldsummary` datasource isn't configured, no field summary can be shown\n if (!showFieldSummary || !get(dataSources, 'fieldsummary')) {\n return {};\n }\n\n try {\n const fieldSummaryMapping = getFieldSummaryMapping(\n dataSources.fieldsummary?.data?.columns,\n dataSources.fieldsummary?.data?.fields\n );\n\n return fieldSummaryMapping;\n } catch (e) {\n console.error(`Unexpected error parsing fieldsummary datasource: + ${e.message}`);\n return {};\n }\n }, [dataSources, showFieldSummary]);\n\n const {\n eventActions: eventActionsContext = [],\n fieldActions: fieldActionsContext = {},\n } = useContext<EventsContextInterface>(EventsContext);\n\n const eventActions = mergeEventActions(eventActionsProps, eventActionsContext);\n const fieldActions = mergeFieldActions(fieldActionsProps, fieldActionsContext);\n const [fieldSummaryField, setFieldSummaryField] = React.useState(null);\n const [fieldSummaryAnchor, setFieldSummaryAnchor] = React.useState(null);\n\n // creates array menu components to display in the Event Actions dropdown\n const renderEventActions: EventActionType[] = React.useMemo(\n () =>\n !Array.isArray(eventActions) || eventActions.length === 0\n ? null\n : eventActions.map(({ eventType, label }) => {\n const onMenuItemClick = e => {\n const payload = convertToPayloadFormat(e.event);\n\n onEventTrigger({\n originalEvent: e,\n type: eventType,\n payload,\n });\n };\n\n // eslint-disable-next-line react/display-name\n return event => (\n <Menu.Item key={`event-action-${label}`} onClick={() => onMenuItemClick(event)}>\n {label}\n </Menu.Item>\n );\n }),\n [eventActions]\n );\n\n // creates map of field names to array of menu components to display in its respective dropdown\n // in the Actions column\n const renderFieldActions: FieldActionType = React.useMemo(() => {\n // undefined hides the Actions column, per logic in SUI EventsViewer\n if (typeof fieldActions !== 'object' || Object.keys(fieldActions).length === 0) return undefined;\n\n const fieldActionsMap = Object.keys(fieldActions).reduce((currFieldActionsMap, fieldName) => {\n // eslint-disable-next-line no-param-reassign\n currFieldActionsMap[fieldName] = fieldActions[fieldName].map(({ eventType, label }) => {\n const onMenuItemClick = e => {\n const payload = convertToPayloadFormat(e.event, { name: e.field, value: e.value });\n\n onEventTrigger({\n originalEvent: e,\n type: eventType,\n payload,\n });\n };\n\n // eslint-disable-next-line react/display-name\n return event => (\n <Menu.Item\n key={`${fieldName}-field-action-${label}`}\n onClick={() => onMenuItemClick(event)}\n >\n {label}\n </Menu.Item>\n );\n });\n\n return currFieldActionsMap;\n }, {});\n\n return fieldActionsMap;\n }, [fieldActions]);\n\n // formulate the options object required by the SUI EventsViewer component\n const suiEventsViewerOptions: EventsViewerOptions = {\n renderEventActions,\n renderFieldActions,\n footerFields,\n fieldValueHighlightMap: highlightValuesByField,\n };\n\n const handleFieldClicked =\n showFieldSummary &&\n ((e, { field }) => {\n setFieldSummaryField(field);\n setFieldSummaryAnchor(e.currentTarget.parentElement);\n });\n\n const handleActionClicked = (event, data) => {\n const { action: actionType, field } = data;\n\n onEventTrigger({\n originalEvent: event,\n type: `events.search.${actionType}`,\n payload: {\n field,\n },\n });\n };\n\n return (\n <EventsContainer backgroundColor={backgroundColor} width={width} height={height}>\n <SUIEventsViewerContainer width={width} height={height}>\n <EventsViewer\n options={suiEventsViewerOptions}\n onOptionsChange={onOptionsChange}\n dataSources={dataSources}\n onRequestParamsChange={onRequestParamsChange}\n onFieldClicked={handleFieldClicked}\n />\n <FieldSummaryTooltip\n open={!!fieldSummaryAnchor && !!fieldSummaryField}\n anchor={fieldSummaryAnchor}\n handleTooltipClose={() => {\n setFieldSummaryField(null);\n setFieldSummaryAnchor(null);\n }}\n fieldName={fieldSummaryField}\n fieldSummaryMap={fieldSummaryMap}\n onActionClicked={handleActionClicked}\n />\n </SUIEventsViewerContainer>\n </EventsContainer>\n );\n};\n\nPureEvents.propTypes = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // need this to satisfy props interface\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n backgroundColor: T.string,\n eventActions: T.arrayOf(\n T.shape({\n // key to identify this event\n eventType: T.string,\n // label for the menu item\n label: T.string,\n })\n ),\n fieldActions: T.objectOf(\n T.arrayOf(\n T.shape({\n // key to identify this event\n eventType: T.string,\n // label for the menu item\n label: T.string,\n })\n )\n ),\n showFieldSummary: T.bool,\n footerFields: T.array,\n highlightValuesByField: T.objectOf(T.string),\n onOptionsChange: T.func,\n dataSources: T.any,\n onRequestParamsChange: T.func,\n onEventTrigger: T.func,\n};\n\nPureEvents.defaultProps = {\n width: 800,\n height: 500,\n mode: 'view',\n eventActions: [],\n fieldActions: {},\n dataSources: EMPTY_DATASOURCE,\n showFieldSummary: true,\n footerFields: [],\n highlightValuesByField: {},\n onOptionsChange: noop,\n onRequestParamsChange: noop,\n onEventTrigger: noop,\n};\n\nexport default withFixedSizeContainer(PureEvents);\n","module.exports = require(\"@splunk/react-events-viewer/components/EventsViewer\");","import type { Action } from '@splunk/visualization-context/EventsContext';\nimport { FieldData } from '@splunk/react-field-summary/components/FieldSummary';\nimport { mergeWith, union } from 'lodash';\nimport { convertToArrOfObjects } from '../common/utils/dataUtils';\n\n// util to convert a field-value map into an object with row.<fieldname>.value keys for payloads\nexport const convertToPayloadFormat = (obj, initialValue = {}) => {\n if (!obj) return {};\n\n return Object.keys(obj).reduce((acc, curr) => {\n const key = `row.${curr}.value`;\n return { ...acc, [key]: obj[curr] };\n }, initialValue);\n};\n\nexport const getFieldSummaryMapping = (columns, fields) => {\n // convert the `fieldsummary` payload to an array of objects\n const arr = convertToArrOfObjects(columns, fields);\n\n // forms an array of FieldData elements expected by the @splunk/react-field-summary component\n const fieldSummaryData: FieldData[] = arr.map(d => ({\n name: d.field,\n count: +d.count,\n distinctCount: +d.distinct_count,\n numericCount: +d.numeric_count,\n max: d.max === null ? null : +d.max,\n mean: d.mean === null ? null : +d.mean,\n min: d.min === null ? null : +d.min,\n stdev: d.stdev === null ? null : +d.stdev,\n modes: JSON.parse(d.values),\n }));\n\n // creates a map of field name to its data for O(1) retrieval in the tooltip component\n const fieldSummaryMapping = fieldSummaryData.reduce((map, fieldData) => {\n return { ...map, [fieldData.name]: fieldData };\n }, {});\n\n return fieldSummaryMapping;\n};\n\n/**\n * Helper to merge event actions into one array of event actions.\n * @method mergeEventActions\n * @param {Action[]} fieldActions1\n * @param {Action[]} fieldActions2\n * @returns {Action[]} merged event actions\n */\nexport const mergeEventActions = (eventActions1: Action[], eventActions2: Action[]): Action[] =>\n eventActions1.concat(eventActions2);\n\n/**\n * Helper to merge field actions. If same key exists in both field actions,\n * combine each array of actions under one key.\n * @method mergeFieldActions\n * @param {Record<string, Action[]>} fieldActions1\n * @param {Record<string, Action[]>} fieldActions2\n * @returns {Record<string, Action[]>} merged field actions\n */\nexport const mergeFieldActions = (\n fieldActions1: Record<string, Action[]>,\n fieldActions2: Record<string, Action[]>\n): Record<string, Action[]> => {\n return mergeWith(fieldActions1, fieldActions2, (fieldAction1value, fieldAction2value) =>\n Array.isArray(fieldAction1value) && Array.isArray(fieldAction2value)\n ? union(fieldAction1value, fieldAction2value)\n : undefined\n );\n};\n","import * as React from 'react';\nimport { useCallback, useContext, SyntheticEvent } from 'react';\n\nimport Popover from '@splunk/react-ui/Popover';\nimport Markdown from '@splunk/react-ui/Markdown';\nimport FieldSummary, { FieldData, Action } from '@splunk/react-field-summary/components/FieldSummary';\nimport { noop } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport styled from 'styled-components';\nimport EventsContext from '@splunk/visualization-context/EventsContext';\nimport type { EventsContextInterface } from '@splunk/visualization-context/EventsContext';\n\nexport interface FieldSummaryTooltipProps {\n open: boolean;\n anchor?: HTMLElement;\n handleTooltipClose: () => void;\n fieldName: string;\n fieldSummaryMap: { [key: string]: FieldData };\n onActionClicked: (e: SyntheticEvent, data: { action: string; field: string; selected: string[] }) => void;\n}\n\nconst popoverContainerStyle: React.CSSProperties = { padding: '20px', width: 500 };\n\nconst StyledMarkdown = styled(Markdown)`\n /* removes unnecessary margin on the internal paragraph component */\n p {\n margin: 0;\n }\n`;\n\nconst actionsForField = (field: FieldData): Action[] => {\n const actions = [];\n\n // this logic is used in determining whether to display numeric stats in ui-platform (FieldStats.tsx)\n if (typeof field.mean === 'number') {\n actions.push({ name: 'avgByTime', label: _('Average over time') });\n actions.push({ name: 'maxByTime', label: _('Max value over time') });\n actions.push({ name: 'minByTime', label: _('Min value over time') });\n }\n\n actions.push({ name: 'topValues', label: _('Top values') });\n actions.push({ name: 'topValuesByTime', label: _('Top values by time') });\n actions.push({ name: 'rareValues', label: _('Rare values') });\n actions.push({ name: 'allValues', label: _('Events with this field') });\n\n return actions;\n};\n\nconst FieldSummaryTooltip = (props: FieldSummaryTooltipProps): React.ReactElement => {\n const { open, anchor, handleTooltipClose, fieldName, fieldSummaryMap, onActionClicked } = props;\n\n const { isSplunkWebAvailable } = useContext<EventsContextInterface>(EventsContext);\n\n const getActionsForField = useCallback(\n (field: FieldData) => (isSplunkWebAvailable ? actionsForField(field) : []),\n [isSplunkWebAvailable]\n );\n\n // if the anchor is null or no field has been clicked, do not render the tooltip\n if (!open) return null;\n\n // retrieve the field summary for this field. if there is no field data, show fallback messaging\n const field = fieldSummaryMap[fieldName];\n const fieldSummaryExists = !!field;\n\n const fallbackText = _(\n `Please configure an additional datasource called \\`fieldsummary\\` using the \\`... | fieldsummary maxvals=10\\` SPL command for field summaries to be shown.`\n );\n\n return (\n <Popover open={open} defaultPlacement=\"below\" anchor={anchor} onRequestClose={handleTooltipClose}>\n <div style={popoverContainerStyle}>\n {fieldSummaryExists ? (\n <FieldSummary\n eventCount={field.count}\n field={field}\n actionsForField={getActionsForField}\n onActionClicked={onActionClicked}\n />\n ) : (\n <StyledMarkdown text={fallbackText} />\n )}\n </div>\n </Popover>\n );\n};\n\nFieldSummaryTooltip.defaultProps = {\n open: false,\n anchor: null,\n fieldName: '',\n fieldSummaryMap: {},\n handleTooltipClose: noop,\n onActionClicked: noop,\n};\n\nexport default FieldSummaryTooltip;\n","module.exports = require(\"@splunk/react-field-summary/components/FieldSummary\");"],"sourceRoot":""}
|