web-interface.assets.1255d548-5716.58343bcf97921e07b4ab.js.map Maven / Gradle / Ivy
{"version":3,"file":"1255d548-5716.58343bcf97921e07b4ab.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/views/components/searchbar/queryinput/ace.ts","webpack://graylog-web-interface/./src/views/components/searchbar/queryinput/StyledAceEditor.tsx","webpack://graylog-web-interface/./src/views/components/searchbar/queryinput/BasicQueryInput.tsx","webpack://graylog-web-interface/./src/views/components/searchbar/SearchBarAutocompletions.ts","webpack://graylog-web-interface/./src/views/components/searchbar/queryinput/QueryInput.tsx","webpack://graylog-web-interface/./src/views/components/searchbar/queryinput/ace-queryinput.js","webpack://graylog-web-interface/./src/views/components/searchbar/queryinput/custom-lucene-mode.js","webpack://graylog-web-interface/./node_modules/lodash/uniqBy.js"],"sourcesContent":["/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport AceEditor from 'react-ace';\n\nimport './ace-queryinput';\nimport 'ace-builds/src-noconflict/ext-language_tools';\nimport './custom-lucene-mode';\nimport 'ace-builds/webpack-resolver';\n\nexport default AceEditor;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport styled, { css } from 'styled-components';\nimport type { DefaultTheme } from 'styled-components';\n\nimport { INPUT_BORDER_RADIUS } from 'theme/constants';\n\nimport AceEditor from './ace';\n\ntype Props = {\n $height: number,\n $scTheme: DefaultTheme,\n disabled: boolean,\n};\n\nconst StyledAceEditor = styled(AceEditor)(({ $scTheme, $height, disabled }) => css`\n &.ace-queryinput {\n ${$height ? `height: ${$height}px !important` : ''}\n min-height: 34px;\n width: 100% !important;\n background-color: ${$scTheme.colors.input.background};\n color: ${$scTheme.utils.contrastingColor($scTheme.colors.input.background, 'AAA')};\n border: 1px solid ${$scTheme.colors.variant.light.default};\n border-radius: ${INPUT_BORDER_RADIUS};\n\n &.ace_multiselect .ace_selection.ace_start {\n box-shadow: 0 0 3px 0 ${$scTheme.colors.input.background};\n }\n\n .ace_gutter {\n background: ${$scTheme.colors.input.background};\n color: ${$scTheme.utils.contrastingColor($scTheme.colors.input.background, 'AAA')};\n }\n\n .ace_print-margin {\n width: 1px;\n background: ${$scTheme.colors.input.background};\n }\n\n .ace_cursor {\n color: ${$scTheme.colors.gray[50]};\n display: ${disabled ? 'none' : 'block'} !important;\n }\n\n .ace_marker-layer .ace_selection {\n background: ${$scTheme.colors.variant.lightest.default};\n }\n\n .ace_marker-layer .ace_step {\n background: ${$scTheme.colors.variant.warning};\n }\n\n .ace_marker-layer .ace_bracket {\n margin: -1px 0 0 -1px;\n border: none;\n }\n\n .ace_marker-layer .ace_active-line {\n background: ${$scTheme.colors.input.background};\n }\n\n .ace_gutter-active-line {\n background-color: ${$scTheme.colors.input.background};\n }\n\n .ace_marker-layer .ace_selected-word {\n border: 1px solid ${$scTheme.colors.gray[80]};\n }\n\n .ace_invisible {\n color: ${$scTheme.colors.input.background};\n }\n\n .ace_keyword,\n .ace_meta,\n .ace_storage,\n .ace_storage.ace_type,\n .ace_support.ace_type {\n color: ${$scTheme.colors.variant.info};\n }\n\n .ace_keyword.ace_operator {\n color: ${$scTheme.colors.global.textDefault};\n }\n\n .ace_constant.ace_character,\n .ace_constant.ace_language,\n .ace_constant.ace_numeric,\n .ace_keyword.ace_other.ace_unit,\n .ace_support.ace_constant,\n .ace_variable.ace_parameter {\n color: ${$scTheme.colors.variant.dark.danger};\n }\n\n .ace_constant.ace_other {\n color: ${$scTheme.colors.variant.default};\n }\n\n .ace_invalid {\n color: ${$scTheme.utils.readableColor($scTheme.colors.brand.primary)};\n background-color: ${$scTheme.colors.brand.primary};\n }\n\n .ace_invalid.ace_deprecated {\n color: ${$scTheme.utils.readableColor($scTheme.colors.brand.primary)};\n background-color: ${$scTheme.colors.variant.dark.primary};\n }\n\n .ace_fold {\n background-color: ${$scTheme.colors.variant.info};\n border-color: ${$scTheme.utils.contrastingColor($scTheme.colors.input.background, 'AAA')};\n }\n\n .ace_entity.ace_name.ace_function,\n .ace_support.ace_function,\n .ace_variable,\n .ace_term {\n color: ${$scTheme.colors.variant.darker.info};\n }\n\n .ace_support.ace_class,\n .ace_support.ace_type {\n color: ${$scTheme.colors.variant.dark.warning};\n }\n\n .ace_heading,\n .ace_markup.ace_heading,\n .ace_string {\n color: ${$scTheme.colors.variant.dark.success};\n }\n\n .ace_entity.ace_name.ace_tag,\n .ace_entity.ace_other.ace_attribute-name,\n .ace_meta.ace_tag,\n .ace_string.ace_regexp,\n .ace_variable {\n color: ${$scTheme.colors.brand.primary};\n }\n\n .ace_comment {\n color: ${$scTheme.colors.gray[60]};\n }\n\n .ace_indent-guide {\n background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==') right repeat-y;\n }\n\n .ace_placeholder {\n left: 0;\n right: 0;\n padding: 0;\n margin-top: 6px;\n margin-left: 4px;\n margin-right: 4px;\n transform: none;\n opacity: 1;\n z-index: auto !important;\n font-family: ${$scTheme.fonts.family.monospace} !important;\n font-size: ${$scTheme.fonts.size.body};\n color: ${$scTheme.colors.input.placeholder};\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n }\n\n .ace_marker {\n border-bottom: 2px dashed;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n }\n\n .ace_marker.ace_validation_error {\n border-color: ${$scTheme.colors.variant.danger};\n }\n\n .ace_marker.ace_validation_warning {\n border-color: ${$scTheme.colors.variant.dark.warning};\n }\n }\n`);\n\nexport default StyledAceEditor;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport { forwardRef, useMemo, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTheme } from 'styled-components';\nimport type { IMarker } from 'react-ace';\n\nimport type { QueryValidationState } from 'views/components/searchbar/queryvalidation/types';\n\nimport StyledAceEditor from './StyledAceEditor';\nimport type { Editor } from './ace-types';\n\nconst ACE_THEME = 'ace-queryinput';\n\nexport type BaseProps = {\n className?: string\n error?: QueryValidationState,\n height?: number,\n maxLines?: number,\n onLoad?: (editor: Editor) => void,\n placeholder?: string,\n value: string,\n warning?: QueryValidationState,\n wrapEnabled?: boolean,\n inputId?: string,\n};\n\ntype EnabledInputProps = BaseProps & {\n disabled: false,\n enableAutocompletion?: boolean,\n onBlur?: (query: string) => void,\n onChange: (query: string) => Promise,\n onExecute: (editor: Editor) => void,\n};\ntype DisabledInputProps = BaseProps & { disabled: true };\ntype Props = EnabledInputProps | DisabledInputProps\n\nconst isEnabledInput = (props: Props): props is EnabledInputProps => !props.disabled;\nconst isDisabledInput = (props: Props): props is DisabledInputProps => props.disabled;\n\nconst getMarkers = (errors: QueryValidationState | undefined, warnings: QueryValidationState | undefined) => {\n const markerClassName = 'ace_marker';\n const createMarkers = (explanations: QueryValidationState['explanations'] = [], className: string = ''): IMarker[] => explanations.map(({\n beginLine,\n beginColumn,\n endLine,\n endColumn,\n }) => ({\n startRow: beginLine,\n startCol: beginColumn,\n endRow: endLine,\n endCol: endColumn,\n type: 'text',\n className,\n }));\n\n return [\n ...createMarkers(errors?.explanations, `${markerClassName} ace_validation_error`),\n ...createMarkers(warnings?.explanations, `${markerClassName} ace_validation_warning`),\n ];\n};\n\n// Basic query input component which is being implemented by the `QueryInput` component.\n// This is just a very basic query input which can be implemented for example to display a read only query.\nconst BasicQueryInput = forwardRef((props, ref) => {\n const {\n className,\n disabled,\n error,\n height,\n maxLines,\n placeholder,\n value,\n warning,\n wrapEnabled,\n onLoad,\n inputId,\n } = props;\n const theme = useTheme();\n const markers = useMemo(() => getMarkers(error, warning), [error, warning]);\n const _onLoad = useCallback((editor) => {\n if (editor) {\n editor.renderer.setScrollMargin(7, 6);\n editor.renderer.setPadding(12);\n\n if (inputId) {\n editor.textInput.getElement().setAttribute('id', inputId);\n }\n\n onLoad?.(editor);\n }\n }, [inputId, onLoad]);\n const editorProps = useMemo(() => ({ $blockScrolling: Infinity, selectionStyle: 'line' }), []);\n const setOptions = useMemo(() => ({ indentedSoftWrap: false }), []);\n\n const commonProps = {\n $height: height,\n $scTheme: theme,\n theme: ACE_THEME,\n className: `${className} ${ACE_THEME}`,\n disabled,\n editorProps,\n fontSize: theme.fonts.size.small,\n highlightActiveLine: false,\n markers,\n maxLines,\n minLines: 1,\n mode: 'lucene',\n name: 'QueryEditor',\n placeholder,\n readOnly: disabled,\n ref,\n setOptions,\n showGutter: false,\n showPrintMargin: false,\n value,\n wrapEnabled,\n onLoad: _onLoad,\n };\n\n if (isDisabledInput(props)) {\n return ;\n }\n\n if (isEnabledInput(props)) {\n const {\n onBlur,\n onChange,\n enableAutocompletion,\n } = props;\n\n return (\n \n );\n }\n\n return null;\n});\n\nBasicQueryInput.propTypes = {\n className: PropTypes.string,\n // @ts-ignore\n disabled: PropTypes.bool,\n enableAutocompletion: PropTypes.bool,\n error: PropTypes.any,\n height: PropTypes.number,\n inputId: PropTypes.string,\n maxLines: PropTypes.number,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onLoad: PropTypes.func,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n warning: PropTypes.any,\n wrapEnabled: PropTypes.bool,\n};\n\nBasicQueryInput.defaultProps = {\n className: '',\n disabled: false,\n enableAutocompletion: false,\n error: undefined,\n height: undefined,\n inputId: undefined,\n maxLines: 4,\n onBlur: undefined,\n onChange: undefined,\n onLoad: undefined,\n placeholder: '',\n value: '',\n warning: undefined,\n wrapEnabled: true,\n};\n\nexport default React.memo(BasicQueryInput);\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport sortBy from 'lodash/sortBy';\nimport uniqBy from 'lodash/uniqBy';\n\nimport type { TimeRange, NoTimeRangeOverride } from 'views/logic/queries/Query';\nimport type FieldTypeMapping from 'views/logic/fieldtypes/FieldTypeMapping';\nimport type View from 'views/logic/views/View';\n\nimport type {\n Editor,\n ResultsCallback,\n Session,\n Position,\n CompletionResult,\n AutoCompleter,\n Token,\n Line,\n} from './queryinput/ace-types';\n\nexport type FieldTypes = { all: FieldIndex, query: FieldIndex };\ntype FieldIndex = { [fieldName: string]: FieldTypeMapping };\n\nexport type CompleterContext = Readonly<{\n currentToken: Token | undefined | null,\n prevToken: Token | undefined | null,\n prefix: string,\n tokens: Array,\n currentTokenIdx: number,\n timeRange?: TimeRange | NoTimeRangeOverride,\n streams?: Array,\n fieldTypes?: FieldTypes,\n userTimezone: string,\n view: View,\n}>;\n\nexport interface Completer {\n getCompletions(context: CompleterContext): Array | Promise>;\n shouldShowCompletions?: (currentLine: number, lines: Array>) => boolean;\n identifierRegexps?: RegExp[];\n}\n\nconst onCompleterError = (error: Error) => {\n // eslint-disable-next-line no-console\n console.warn('Exception thrown in completer: ', error);\n};\n\nconst getCurrentTokenIdx = (session: Session, pos: Position) => {\n let idx = 0;\n\n for (let rowIdx = 0; rowIdx <= pos.row; rowIdx += 1) {\n const row = session.getTokens(rowIdx);\n\n if (rowIdx === pos.row) {\n const currentToken = session.getTokenAt(pos.row, pos.column);\n const idxInActiveLine = row.findIndex((t) => (t === currentToken));\n idx += idxInActiveLine;\n } else {\n idx += row.length;\n }\n }\n\n return idx;\n};\n\nconst formatTokens = (session: Session, pos: Position) => {\n const rowAmount = session.getLength();\n const allTokens = [...Array(rowAmount).keys()]\n .map((_, index) => session.getTokens(index))\n .filter((line) => !!line?.length)\n .flat();\n const currentTokenIdx = getCurrentTokenIdx(session, pos);\n const currentToken = allTokens[currentTokenIdx];\n const prevToken = allTokens[currentTokenIdx - 1] ?? null;\n\n return {\n tokens: allTokens,\n currentTokenIdx,\n currentToken,\n prevToken,\n };\n};\n\nexport default class SearchBarAutoCompletions implements AutoCompleter {\n private readonly completers: Array;\n\n private readonly timeRange: TimeRange | NoTimeRangeOverride | undefined;\n\n private readonly streams: Array;\n\n private readonly fieldTypes: FieldTypes;\n\n private readonly userTimezone: string;\n\n private readonly view: View;\n\n constructor(\n completers: Array,\n timeRange: TimeRange | NoTimeRangeOverride | undefined,\n streams: Array,\n fieldTypes: FieldTypes,\n userTimezone: string,\n view: View,\n ) {\n this.completers = completers;\n this.timeRange = timeRange;\n this.streams = streams;\n this.fieldTypes = fieldTypes;\n this.userTimezone = userTimezone;\n this.view = view;\n }\n\n getCompletions = async (editor: Editor, _session: Session, pos: Position, prefix: string, callback: ResultsCallback) => {\n const { tokens, currentToken, currentTokenIdx, prevToken } = formatTokens(editor.session, pos);\n\n const results = await Promise.all(\n this.completers\n .map(async (completer) => {\n try {\n return await completer.getCompletions({\n currentToken,\n prevToken,\n prefix,\n tokens,\n currentTokenIdx,\n timeRange: this.timeRange,\n streams: this.streams,\n fieldTypes: this.fieldTypes,\n userTimezone: this.userTimezone,\n view: this.view,\n });\n } catch (e) {\n onCompleterError(e);\n }\n\n return [];\n }),\n );\n const uniqResults = uniqBy(sortBy(results.flat(), ['score', 'name']), 'name');\n\n callback(null, uniqResults);\n };\n\n get identifierRegexps() { return this.completers.map((completer) => completer.identifierRegexps ?? []).flat(); }\n}\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport { useCallback, useMemo, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport type { FormikErrors } from 'formik';\nimport styled, { css } from 'styled-components';\n\nimport UserPreferencesContext from 'contexts/UserPreferencesContext';\nimport type { TimeRange, NoTimeRangeOverride } from 'views/logic/queries/Query';\nimport QueryValidationActions from 'views/actions/QueryValidationActions';\nimport type { QueryValidationState } from 'views/components/searchbar/queryvalidation/types';\nimport useFieldTypes from 'views/logic/fieldtypes/useFieldTypes';\nimport { DEFAULT_TIMERANGE } from 'views/Constants';\nimport { isNoTimeRangeOverride } from 'views/typeGuards/timeRange';\nimport usePluginEntities from 'hooks/usePluginEntities';\nimport useUserDateTime from 'hooks/useUserDateTime';\nimport type View from 'views/logic/views/View';\nimport useView from 'views/hooks/useView';\n\nimport type { AutoCompleter, Editor, Command } from './ace-types';\nimport type { BaseProps } from './BasicQueryInput';\nimport BasicQueryInput from './BasicQueryInput';\n\nimport SearchBarAutoCompletions from '../SearchBarAutocompletions';\nimport type { Completer, FieldTypes } from '../SearchBarAutocompletions';\n\nconst defaultCompleterFactory = (...args: ConstructorParameters) => new SearchBarAutoCompletions(...args);\n\nconst Container = styled.div<{ $hasValue: boolean }>(({ $hasValue }) => css`\n width: 100%;\n\n .ace_hidden-cursors {\n display: ${$hasValue ? 'block' : 'none'};\n }\n`);\n\nconst displayValidationErrors = () => {\n QueryValidationActions.displayValidationErrors();\n};\n\nconst handleExecution = ({\n editor,\n onExecute,\n value,\n error,\n disableExecution,\n isValidating,\n validate,\n}: {\n editor: Editor,\n onExecute: (query: string) => void,\n value: string,\n error: QueryValidationState | undefined,\n disableExecution: boolean,\n isValidating: boolean,\n validate: () => Promise>,\n}) => {\n const execute = () => {\n if (editor?.completer && editor.completer.popup) {\n editor.completer.detach();\n }\n\n onExecute(value);\n };\n\n if (isValidating) {\n validate().then((errors) => {\n if (isEmpty(errors)) {\n execute();\n } else {\n displayValidationErrors();\n }\n });\n\n return;\n }\n\n if (error) {\n displayValidationErrors();\n }\n\n if (disableExecution || error) {\n return;\n }\n\n execute();\n};\n\n// This function takes care of all editor configuration options, which do not rely on external data.\n// It will only run once, on mount, which is important for e.g. the event listeners.\nconst _onLoadEditor = (editor: Editor, isInitialTokenizerUpdate: React.MutableRefObject) => {\n if (editor) {\n editor.commands.removeCommands(['find', 'indent', 'outdent']);\n\n editor.session.on('tokenizerUpdate', () => {\n if (editor.isFocused() && !editor.completer?.activated && !isInitialTokenizerUpdate.current) {\n editor.execCommand('startAutocomplete');\n }\n\n if (isInitialTokenizerUpdate.current) {\n // eslint-disable-next-line no-param-reassign\n isInitialTokenizerUpdate.current = false;\n }\n });\n }\n};\n\n// This function takes care of updating the editor config on every render.\n// This is necessary for configuration options which rely on external data.\n// Unfortunately it is not possible to configure for example the command once\n// with the `onLoad` or `commands` prop, because the reference for the related function will be outdated.\nconst _updateEditorConfiguration = (node: { editor: Editor; }, completer: AutoCompleter, commands: Array) => {\n const editor = node && node.editor;\n\n if (editor) {\n editor.commands.on('afterExec', () => {\n if (editor.completer?.autoSelect) {\n editor.completer.autoSelect = false;\n }\n\n const completerCommandKeyBinding = editor.completer?.keyboardHandler?.commandKeyBinding;\n\n if (completerCommandKeyBinding?.tab && completerCommandKeyBinding.tab.name !== 'improved-tab') {\n editor.completer.keyboardHandler.addCommand({\n name: 'improved-tab',\n bindKey: { win: 'Tab', mac: 'Tab' },\n exec: (currentEditor: Editor) => {\n const result = currentEditor.completer.insertMatch();\n\n if (!result && !currentEditor.tabstopManager) {\n currentEditor.completer.goTo('down');\n\n return currentEditor.completer.insertMatch();\n }\n\n return result;\n },\n });\n }\n });\n\n commands.forEach((command) => editor.commands.addCommand(command));\n editor.completers = [completer];\n }\n};\n\nconst useCompleter = ({ streams, timeRange, completerFactory, userTimezone }: Pick & { userTimezone: string }) => {\n const completers = usePluginEntities('views.completers');\n const { data: queryFields } = useFieldTypes(streams, isNoTimeRangeOverride(timeRange) ? DEFAULT_TIMERANGE : timeRange);\n const { data: allFields } = useFieldTypes([], DEFAULT_TIMERANGE);\n const fieldTypes = useMemo(() => {\n const queryFieldsByName = Object.fromEntries((queryFields ?? []).map((field) => [field.name, field]));\n const allFieldsByName = Object.fromEntries((allFields ?? []).map((field) => [field.name, field]));\n\n return { all: allFieldsByName, query: queryFieldsByName };\n }, [allFields, queryFields]);\n const view = useView();\n\n return useMemo(() => completerFactory(completers ?? [], timeRange, streams, fieldTypes, userTimezone, view),\n [completerFactory, completers, timeRange, streams, fieldTypes, userTimezone, view]);\n};\n\ntype Props = BaseProps & {\n commands?: Array,\n completerFactory?: (\n completers: Array,\n timeRange: TimeRange | NoTimeRangeOverride | undefined,\n streams: Array,\n fieldTypes: FieldTypes,\n userTimezone: string,\n view: View,\n ) => AutoCompleter,\n disableExecution?: boolean,\n isValidating?: boolean,\n name: string,\n onBlur?: (query: string) => void,\n onChange: (changeEvent: { target: { value: string, name: string } }) => Promise,\n onExecute: (query: string) => void,\n streams?: Array | undefined,\n timeRange?: TimeRange | NoTimeRangeOverride | undefined,\n validate: () => Promise>,\n};\n\nconst QueryInput = ({\n className,\n commands,\n completerFactory = defaultCompleterFactory,\n disableExecution,\n error,\n height,\n inputId,\n isValidating,\n maxLines,\n onBlur,\n onChange,\n onExecute: onExecuteProp,\n placeholder,\n streams,\n timeRange,\n value,\n validate,\n warning,\n wrapEnabled,\n name,\n}: Props) => {\n const { userTimezone } = useUserDateTime();\n const isInitialTokenizerUpdate = useRef(true);\n const { enableSmartSearch } = useContext(UserPreferencesContext);\n const completer = useCompleter({ streams, timeRange, completerFactory, userTimezone });\n const onLoadEditor = useCallback((editor: Editor) => _onLoadEditor(editor, isInitialTokenizerUpdate), []);\n const onExecute = useCallback((editor: Editor) => handleExecution({\n editor,\n onExecute: onExecuteProp,\n value,\n error,\n disableExecution,\n isValidating,\n validate,\n }), [onExecuteProp, value, error, disableExecution, isValidating, validate]);\n const _commands = useMemo(() => [...commands, {\n name: 'Execute',\n bindKey: { win: 'Enter', mac: 'Enter' },\n exec: onExecute,\n }], [commands, onExecute]);\n const updateEditorConfiguration = useCallback((node: { editor: Editor }) => _updateEditorConfiguration(node, completer, _commands), [_commands, completer]);\n const _onChange = useCallback((newQuery: string) => {\n onChange({ target: { value: newQuery, name } });\n\n return Promise.resolve(newQuery);\n }, [name, onChange]);\n\n return (\n \n \n \n );\n};\n\nQueryInput.propTypes = {\n className: PropTypes.string,\n completerFactory: PropTypes.func,\n disableExecution: PropTypes.bool,\n error: PropTypes.any,\n inputId: PropTypes.string,\n height: PropTypes.number,\n isValidating: PropTypes.bool.isRequired,\n maxLines: PropTypes.number,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onExecute: PropTypes.func.isRequired,\n placeholder: PropTypes.string,\n streams: PropTypes.array,\n timeRange: PropTypes.object,\n value: PropTypes.string,\n warning: PropTypes.any,\n wrapEnabled: PropTypes.bool,\n validate: PropTypes.func.isRequired,\n};\n\nQueryInput.defaultProps = {\n className: '',\n commands: [],\n completerFactory: defaultCompleterFactory,\n disableExecution: false,\n error: undefined,\n height: undefined,\n inputId: undefined,\n maxLines: undefined,\n onBlur: undefined,\n placeholder: '',\n streams: undefined,\n timeRange: undefined,\n value: '',\n warning: undefined,\n wrapEnabled: undefined,\n};\n\nexport default QueryInput;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\n// eslint-disable-next-line no-undef\nace.define('ace/theme/ace-queryinput', ['require', 'exports', 'module', 'ace/lib/dom'], (acequire, exports) => {\n /* eslint-disable no-param-reassign */\n exports.isDark = false;\n\n exports.cssClass = 'ace-queryinput';\n /* eslint-enable no-param-reassign */\n\n const dom = acequire('../lib/dom');\n\n dom.importCssString(exports.cssText, exports.cssClass);\n});\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\n// eslint-disable-next-line no-undef\nace.define('ace/mode/lucene_highlight_rules', ['require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/text_highlight_rules'], (require, exports) => {\n const oop = require('../lib/oop');\n const { TextHighlightRules } = require('./text_highlight_rules');\n\n // eslint-disable-next-line func-names\n const LuceneHighlightRules = function () {\n this.$rules = {\n start: [\n {\n token: 'constant.language.escape',\n regex: /\\\\[-+&|!(){}[\\]^\"~*?:\\\\]/,\n }, {\n token: 'constant.character.negation',\n regex: '\\\\-',\n }, {\n token: 'constant.character.interro',\n regex: '\\\\?',\n }, {\n token: 'constant.character.required',\n regex: '\\\\+',\n }, {\n token: 'constant.character.asterisk',\n regex: '\\\\*',\n }, {\n token: 'constant.character.proximity',\n regex: '~(?:0\\\\.[0-9]+|[0-9]+)?',\n }, {\n token: 'keyword.operator',\n regex: '(AND|OR|NOT|TO)\\\\b',\n }, {\n token: (value) => [{\n type: 'paren.lparen',\n value: value,\n }],\n regex: '[\\\\(\\\\{\\\\[]',\n }, {\n token: (value) => [{\n type: 'paren.rparen',\n value: value,\n }],\n regex: '[\\\\)\\\\}\\\\]]',\n }, {\n token: 'keyword.operator',\n regex: /[><=^]/,\n }, {\n token: 'constant.numeric',\n regex: /\\d[\\d.-]*/,\n }, {\n token: 'string',\n regex: /\"(?:\\\\\"|[^\"])*\"/,\n }, {\n token: 'keyword',\n regex: /(?:\\\\.|[^\\s\\-+&|!(){}[\\]^\"~*?:\\\\])+:/,\n next: 'maybeRegex',\n }, {\n token: 'term',\n regex: /[\\w\\\\/]+/,\n }, {\n token: 'text',\n regex: /\\s+/,\n },\n ],\n maybeRegex: [{\n token: 'text',\n regex: /\\s+/,\n }, {\n token: 'string.regexp.start',\n regex: '/',\n next: 'regex',\n }, {\n regex: '',\n next: 'start',\n }],\n regex: [\n {\n token: 'regexp.keyword.operator',\n regex: '\\\\\\\\(?:u[\\\\da-fA-F]{4}|x[\\\\da-fA-F]{2}|.)',\n }, {\n token: 'string.regexp.end',\n regex: '/[sxngimy]*',\n next: 'start',\n }, {\n token: 'invalid',\n regex: /\\{\\d+\\b,?\\d*\\}[+*]|[+*$^?][+*]|[$^][?]|\\?{3,}/,\n }, {\n token: 'constant.language.escape',\n regex: /\\(\\?[:=!]|\\)|\\{\\d+\\b,?\\d*\\}|[+*]\\?|[()$^+*?.]/,\n }, {\n token: 'constant.language.escape',\n // eslint-disable-next-line no-useless-escape\n regex: '<\\d+-\\d+>|[~&@]',\n }, {\n token: 'constant.language.delimiter',\n regex: /\\|/,\n }, {\n token: 'constant.language.escape',\n regex: /\\[\\^?/,\n next: 'regex_character_class',\n }, {\n token: 'empty',\n regex: '$',\n next: 'start',\n }, {\n defaultToken: 'string.regexp',\n },\n ],\n regex_character_class: [\n {\n token: 'regexp.charclass.keyword.operator',\n regex: '\\\\\\\\(?:u[\\\\da-fA-F]{4}|x[\\\\da-fA-F]{2}|.)',\n }, {\n token: 'constant.language.escape',\n regex: ']',\n next: 'regex',\n }, {\n token: 'constant.language.escape',\n regex: '-',\n }, {\n token: 'empty',\n regex: '$',\n next: 'start',\n }, {\n defaultToken: 'string.regexp.charachterclass',\n },\n ],\n };\n };\n\n oop.inherits(LuceneHighlightRules, TextHighlightRules);\n\n // eslint-disable-next-line no-param-reassign\n exports.LuceneHighlightRules = LuceneHighlightRules;\n});\n\n// eslint-disable-next-line no-undef\nace.define('ace/mode/lucene', ['require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/text', 'ace/mode/lucene_highlight_rules'], (require, exports) => {\n const oop = require('../lib/oop');\n const TextMode = require('./text').Mode;\n const { LuceneHighlightRules } = require('./lucene_highlight_rules');\n\n // eslint-disable-next-line func-names\n const Mode = function () {\n this.HighlightRules = LuceneHighlightRules;\n this.$behaviour = this.$defaultBehaviour;\n };\n\n oop.inherits(Mode, TextMode);\n\n // eslint-disable-next-line func-names\n (function () {\n this.$id = 'ace/mode/lucene';\n }).call(Mode.prototype);\n\n // eslint-disable-next-line no-param-reassign\n exports.Mode = Mode;\n});\n\n// eslint-disable-next-line func-names\n(function () {\n // eslint-disable-next-line no-undef\n ace.require(['ace/mode/lucene'], (m) => {\n if (typeof module === 'object' && typeof exports === 'object' && module) {\n module.exports = m;\n }\n });\n}());\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n"],"names":["$scTheme","$height","disabled","ACE_THEME","isEnabledInput","props","isDisabledInput","getMarkers","errors","warnings","markerClassName","createMarkers","explanations","className","beginLine","beginColumn","endLine","endColumn","BasicQueryInput","ref","error","height","maxLines","placeholder","value","warning","wrapEnabled","onLoad","inputId","theme","markers","_onLoad","editor","editorProps","setOptions","commonProps","onBlur","onChange","enableAutocompletion","onCompleterError","getCurrentTokenIdx","session","pos","idx","rowIdx","row","currentToken","idxInActiveLine","t","formatTokens","rowAmount","allTokens","_","index","line","currentTokenIdx","prevToken","SearchBarAutoCompletions","completers","timeRange","streams","fieldTypes","userTimezone","view","_session","prefix","callback","tokens","results","completer","e","uniqResults","defaultCompleterFactory","args","Container","$hasValue","displayValidationErrors","QueryValidationActions","handleExecution","onExecute","disableExecution","isValidating","validate","execute","_onLoadEditor","isInitialTokenizerUpdate","_updateEditorConfiguration","node","commands","completerCommandKeyBinding","currentEditor","result","command","useCompleter","completerFactory","usePluginEntities","queryFields","useFieldTypes","allFields","queryFieldsByName","field","useView","QueryInput","onExecuteProp","name","useUserDateTime","enableSmartSearch","UserPreferencesContext","onLoadEditor","_commands","updateEditorConfiguration","_onChange","newQuery","acequire","exports","require","oop","TextHighlightRules","LuceneHighlightRules","TextMode","Mode","m","module","baseIteratee","baseUniq","uniqBy","array","iteratee"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy