Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
{"version":3,"file":"450c3c73-6161.4a7e0efcae12790b2db1.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/common/withPaginationQueryParameter.tsx","webpack://graylog-web-interface/./src/components/indices/Types.ts","webpack://graylog-web-interface/./src/components/streams/StreamForm.jsx","webpack://graylog-web-interface/./src/components/streams/CreateStreamButton.jsx","webpack://graylog-web-interface/./src/components/streamrules/CollapsibleStreamRuleList.jsx","webpack://graylog-web-interface/./src/components/streams/StreamThroughput.jsx","webpack://graylog-web-interface/./src/components/streams/StreamMetaData.jsx","webpack://graylog-web-interface/./src/components/streams/StreamControls.tsx","webpack://graylog-web-interface/./src/components/streams/StreamStateBadge.jsx","webpack://graylog-web-interface/./src/components/streams/Stream.jsx","webpack://graylog-web-interface/./src/components/streams/StreamList.jsx","webpack://graylog-web-interface/./src/components/streams/StreamComponent.jsx","webpack://graylog-web-interface/./src/pages/StreamsPage.jsx","webpack://graylog-web-interface/./src/stores/indices/IndexSetsStore.ts"],"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 * as React from 'react';\n\nimport usePaginationQueryParameter from 'hooks/usePaginationQueryParameter';\n\nexport type PaginationQueryParameterObject = {\n pageSizes?: number[];\n};\n\nfunction withPaginationQueryParameter(Component: React.ComponentType, obj?: PaginationQueryParameterObject) {\n return function WrappedComponent(props) {\n const result = usePaginationQueryParameter(obj?.pageSizes);\n\n return ;\n };\n}\n\nexport default withPaginationQueryParameter;\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 PropTypes from 'prop-types';\n\nexport type IndicesConfigurationActionsType = {\n loadRotationStrategies: () => Promise,\n loadRetentionStrategies: () => Promise,\n};\nexport type IndicesConfigurationStoreState = {\n activeRotationConfig: any,\n rotationStrategies: any,\n activeRetentionConfig: any,\n retentionStrategies: any,\n retentionStrategiesContext: RetentionStrategyContext,\n}\nexport type SizeBasedRotationStrategyConfig = {\n type: string,\n max_size: number,\n}\nexport type MessageCountRotationStrategyConfig = {\n type: string,\n max_docs_per_index: number,\n}\nexport type TimeBasedRotationStrategyConfig = {\n type: string,\n rotation_period: string,\n max_rotation_period: string,\n rotate_empty_index_set: boolean,\n}\nexport type RotationStrategyConfig = SizeBasedRotationStrategyConfig | MessageCountRotationStrategyConfig | TimeBasedRotationStrategyConfig;\nexport type RetentionStrategyConfig = {\n type: string,\n max_number_of_indices?: number,\n index_action?: string,\n}\nexport interface JsonSchemaStringPropertyType {\n type: string,\n}\nexport interface JsonSchemaIndexActionPropertyType {\n type: string,\n enum: Array,\n}\nexport interface JsonSchemaBooleanPropertyType {\n type: string;\n}\nexport interface RotationProperties {\n rotation_period?: JsonSchemaStringPropertyType,\n max_rotation_period?: JsonSchemaStringPropertyType,\n type: JsonSchemaStringPropertyType,\n max_size?: JsonSchemaStringPropertyType,\n rotate_empty_index_set: JsonSchemaBooleanPropertyType,\n}\nexport interface RotationJsonSchema {\n type: string,\n id: string,\n properties: RotationProperties,\n}\nexport interface RetentionProperties {\n max_number_of_indices: JsonSchemaStringPropertyType,\n type: JsonSchemaStringPropertyType,\n index_action?: JsonSchemaIndexActionPropertyType,\n}\nexport interface RetentionJsonSchema {\n type: string,\n id: string,\n properties: RetentionProperties,\n}\nexport interface RotationStrategy {\n type: string,\n default_config: RotationStrategyConfig,\n json_schema: RotationJsonSchema,\n}\nexport interface RetentionStrategy {\n type: string,\n default_config: RetentionStrategyConfig,\n json_schema: RetentionJsonSchema,\n}\nexport interface RetentionStrategyContext {\n max_index_retention_period?: string,\n}\nexport interface RotationStrategyResponse {\n total: number,\n strategies: Array,\n}\nexport interface RetentionStrategyResponse {\n total: number,\n strategies: Array,\n context: RetentionStrategyContext,\n}\nexport const RetentionStrategiesContextPropType = PropTypes.shape({\n max_index_retention_period: PropTypes.string,\n});\nexport const SizeBasedRotationStrategyConfigPropType = PropTypes.exact({\n type: PropTypes.string.isRequired,\n max_size: PropTypes.number.isRequired,\n});\nexport const MessageCountRotationStrategyConfigPropType = PropTypes.exact({\n type: PropTypes.string.isRequired,\n max_docs_per_index: PropTypes.number.isRequired,\n});\nexport const TimeBasedRotationStrategyConfigPropType = PropTypes.exact({\n type: PropTypes.string.isRequired,\n rotation_period: PropTypes.string.isRequired,\n max_rotation_period: PropTypes.string,\n rotate_empty_index_set: PropTypes.bool,\n});\n\nexport const RotationStrategyConfigPropType = PropTypes.oneOfType([\n SizeBasedRotationStrategyConfigPropType,\n MessageCountRotationStrategyConfigPropType,\n TimeBasedRotationStrategyConfigPropType,\n]);\n\nexport const IndexActionPropType = PropTypes.string;\nexport const RetentionStrategyConfigPropType = PropTypes.exact({\n type: PropTypes.string.isRequired,\n max_number_of_indices: PropTypes.number,\n index_action: PropTypes.string,\n});\n\nexport const JsonSchemaStringPropertyTypePropType = PropTypes.exact({\n type: PropTypes.string.isRequired,\n});\nexport const JsonSchemaIndexActionPropertyTypePropType = PropTypes.exact({\n type: PropTypes.string.isRequired,\n enum: PropTypes.arrayOf(PropTypes.string).isRequired,\n});\nexport const RotationPropertiesPropType = PropTypes.exact({\n rotation_period: JsonSchemaStringPropertyTypePropType,\n max_rotation_period: JsonSchemaStringPropertyTypePropType,\n type: JsonSchemaStringPropertyTypePropType.isRequired,\n max_size: JsonSchemaStringPropertyTypePropType,\n max_docs_per_index: JsonSchemaStringPropertyTypePropType,\n rotate_empty_index_set: JsonSchemaStringPropertyTypePropType,\n});\nexport const RotationJsonSchemaPropType = PropTypes.exact({\n type: PropTypes.string,\n id: PropTypes.string,\n properties: RotationPropertiesPropType.isRequired,\n});\nexport const RetentionPropertiesPropType = PropTypes.exact({\n max_number_of_indices: JsonSchemaStringPropertyTypePropType.isRequired,\n type: JsonSchemaStringPropertyTypePropType.isRequired,\n index_action: JsonSchemaIndexActionPropertyTypePropType,\n});\nexport const RetentionJsonSchemaPropType = PropTypes.exact({\n type: PropTypes.string,\n id: PropTypes.string,\n properties: RetentionPropertiesPropType,\n});\nexport const RotationStrategyPropType = PropTypes.exact({\n type: PropTypes.string.isRequired,\n default_config: RotationStrategyConfigPropType.isRequired,\n json_schema: RotationJsonSchemaPropType.isRequired,\n});\nexport const RetentionStrategyPropType = PropTypes.exact({\n type: PropTypes.string.isRequired,\n default_config: RetentionStrategyConfigPropType.isRequired,\n json_schema: RetentionJsonSchemaPropType.isRequired,\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 PropTypes from 'prop-types';\nimport React from 'react';\n\nimport BootstrapModalForm from 'components/bootstrap/BootstrapModalForm';\nimport { Input } from 'components/bootstrap';\nimport { Select, Spinner } from 'components/common';\nimport * as FormsUtils from 'util/FormsUtils';\nimport { IndexSetsActions } from 'stores/indices/IndexSetsStore';\n\nconst _getValuesFromProps = (props) => {\n let defaultIndexSetId = props.stream.index_set_id;\n\n if (!defaultIndexSetId && props.indexSets && props.indexSets.length > 0) {\n const defaultIndexSet = props.indexSets.find((indexSet) => indexSet.default);\n\n if (defaultIndexSet) {\n defaultIndexSetId = defaultIndexSet.id;\n }\n }\n\n return {\n title: props.stream.title,\n description: props.stream.description,\n removeMatchesFromDefaultStream: props.stream.remove_matches_from_default_stream,\n indexSetId: defaultIndexSetId,\n };\n};\n\nclass StreamForm extends React.Component {\n static propTypes = {\n onSubmit: PropTypes.func.isRequired,\n stream: PropTypes.object,\n title: PropTypes.string.isRequired,\n submitButtonText: PropTypes.string.isRequired,\n indexSets: PropTypes.array.isRequired,\n };\n\n static defaultProps = {\n stream: {\n title: '',\n description: '',\n remove_matches_from_default_stream: false,\n },\n };\n\n constructor(props) {\n super(props);\n\n this.state = _getValuesFromProps(props);\n this.modal = undefined;\n }\n\n _resetValues = () => {\n this.setState(_getValuesFromProps(this.props));\n };\n\n _onSubmit = () => {\n const { title, description, removeMatchesFromDefaultStream, indexSetId } = this.state;\n const { onSubmit, stream } = this.props;\n\n onSubmit(stream.id,\n {\n title,\n description,\n remove_matches_from_default_stream: removeMatchesFromDefaultStream,\n index_set_id: indexSetId,\n });\n\n this.modal.close();\n };\n\n // eslint-disable-next-line react/no-unused-class-component-methods\n open = () => {\n this._resetValues();\n IndexSetsActions.list(false);\n this.modal.open();\n };\n\n // eslint-disable-next-line react/no-unused-class-component-methods\n close = () => {\n this.modal.close();\n };\n\n _formatSelectOptions = () => {\n const { indexSets } = this.props;\n\n return indexSets.filter((indexSet) => indexSet.can_be_default).map((indexSet) => {\n return { value: indexSet.id, label: indexSet.title };\n });\n };\n\n _onIndexSetSelect = (selection) => {\n this.setState({ indexSetId: selection });\n };\n\n handleChange = (event) => {\n const change = {};\n\n change[event.target.name] = FormsUtils.getValueFromInput(event.target);\n this.setState(change);\n };\n\n _indexSetSelect = () => {\n const { indexSetId } = this.state;\n const { indexSets } = this.props;\n\n if (indexSets) {\n return (\n \n \n \n );\n }\n\n return Loading index sets...;\n };\n\n render() {\n const { title: propTitle, submitButtonText } = this.props;\n const { title, description, removeMatchesFromDefaultStream } = this.state;\n\n return (\n { this.modal = c; }}\n title={propTitle}\n onSubmitForm={this._onSubmit}\n submitButtonText={submitButtonText}>\n \n \n {this._indexSetSelect()}\n Don't assign messages that match this stream to the ‘Default Stream’.} />\n \n );\n }\n}\n\nexport default StreamForm;\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 PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Button } from 'components/bootstrap';\nimport StreamForm from 'components/streams/StreamForm';\n\nclass CreateStreamButton extends React.Component {\n static propTypes = {\n buttonText: PropTypes.string,\n bsStyle: PropTypes.string,\n bsSize: PropTypes.string,\n className: PropTypes.string,\n onSave: PropTypes.func.isRequired,\n indexSets: PropTypes.array.isRequired,\n };\n\n static defaultProps = {\n buttonText: 'Create stream',\n bsSize: undefined,\n bsStyle: undefined,\n className: undefined,\n };\n\n onClick = () => {\n this.streamForm.open();\n };\n\n render() {\n const { bsSize, bsStyle, buttonText, className, indexSets, onSave } = this.props;\n\n return (\n \n \n { this.streamForm = streamForm; }}\n title=\"Create stream\"\n submitButtonText=\"Create stream\"\n indexSets={indexSets}\n onSubmit={onSave} />\n \n );\n }\n}\n\nexport default CreateStreamButton;\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 PropTypes from 'prop-types';\nimport React from 'react';\nimport styled from 'styled-components';\n\nimport { Collapse } from 'components/bootstrap';\nimport StreamRuleList from 'components/streamrules/StreamRuleList';\n\nconst RuleWrapper = styled.div`\n margin: 12px 0 0;\n`;\n\nconst CollapsibleStreamRuleList = ({ expanded, permissions, stream, streamRuleTypes }) => {\n return (\n \n \n \n \n \n );\n};\n\nCollapsibleStreamRuleList.propTypes = {\n expanded: PropTypes.bool,\n permissions: PropTypes.array.isRequired,\n stream: PropTypes.object.isRequired,\n streamRuleTypes: PropTypes.array.isRequired,\n};\n\nCollapsibleStreamRuleList.defaultProps = {\n expanded: false,\n};\n\nexport default CollapsibleStreamRuleList;\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 PropTypes from 'prop-types';\nimport React from 'react';\nimport createReactClass from 'create-react-class';\nimport Reflux from 'reflux';\n\nimport { Spinner } from 'components/common';\nimport { MetricsActions, MetricsStore } from 'stores/metrics/MetricsStore';\n\nconst StreamThroughput = createReactClass({\n displayName: 'StreamThroughput',\n\n propTypes: {\n streamId: PropTypes.string.isRequired,\n },\n\n mixins: [Reflux.connect(MetricsStore)],\n\n UNSAFE_componentWillMount() {\n MetricsActions.addGlobal(this._metricName());\n },\n\n componentWillUnmount() {\n MetricsActions.removeGlobal(this._metricName());\n },\n\n _metricName() {\n return `org.graylog2.plugin.streams.Stream.${this.props.streamId}.incomingMessages.1-sec-rate`;\n },\n\n _calculateThroughput() {\n return Object.keys(this.state.metrics)\n .map((nodeId) => {\n const metricDefinition = this.state.metrics[nodeId][this._metricName()];\n\n return metricDefinition !== undefined ? metricDefinition.metric.value : 0;\n })\n .reduce((throughput1, throughput2) => throughput1 + throughput2, 0);\n },\n\n render() {\n if (!this.state.metrics) {\n return ;\n }\n\n return (\n {this._calculateThroughput()} messages/second\n );\n },\n});\n\nexport default StreamThroughput;\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 React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport CollapsibleStreamRuleList from 'components/streamrules/CollapsibleStreamRuleList';\nimport { Pluralize } from 'components/common';\nimport { Button } from 'components/bootstrap';\n\nimport StreamThroughput from './StreamThroughput';\n\nconst StreamMetaDataWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst StreamMetaData = ({ isDefaultStream, stream, streamRuleTypes, permissions }) => {\n let verbalMatchingType;\n const [expanded, setExpanded] = useState(false);\n const toggleText = expanded ? 'Hide' : 'Show';\n\n if (stream.is_default) {\n return 'The default stream cannot have rules.';\n }\n\n if (stream.rules.length === 0) {\n return 'No configured rules.';\n }\n\n switch (stream.matching_type) {\n case 'OR':\n verbalMatchingType = 'at least one';\n break;\n case 'AND':\n default:\n verbalMatchingType = 'all';\n }\n\n const _onHandleToggle = () => {\n setExpanded(!expanded);\n };\n\n return (\n <>\n \n .\n\n \n Must match {verbalMatchingType} of the {stream.rules.length} configured stream \n .\n \n\n {!isDefaultStream && (\n \n )}\n \n\n {!isDefaultStream && (\n \n )}\n >\n );\n};\n\nStreamMetaData.propTypes = {\n isDefaultStream: PropTypes.bool,\n stream: PropTypes.shape({\n id: PropTypes.string,\n is_default: PropTypes.bool,\n rules: PropTypes.array,\n matching_type: PropTypes.string,\n }).isRequired,\n streamRuleTypes: PropTypes.arrayOf(PropTypes.object).isRequired,\n permissions: PropTypes.array.isRequired,\n};\n\nStreamMetaData.defaultProps = {\n isDefaultStream: false,\n};\n\nexport default StreamMetaData;\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 PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { useCallback, useRef } from 'react';\n\n// eslint-disable-next-line no-restricted-imports\nimport Routes from 'routing/Routes';\nimport { DropdownButton, MenuItem } from 'components/bootstrap';\nimport { IfPermitted } from 'components/common';\nimport HideOnCloud from 'util/conditional/HideOnCloud';\nimport { StartpageStore } from 'stores/users/StartpageStore';\nimport type { Stream } from 'stores/streams/StreamsStore';\nimport { LinkContainer } from 'components/common/router';\n\nimport StreamForm from './StreamForm';\n\ntype Props = {\n stream: Stream,\n user: { id: string, read_only: boolean },\n indexSets: Array<{}>,\n onDelete: (stream: Stream) => void,\n onClone: (streamId: string, newStream: Stream) => void,\n onQuickAdd: (streamId: string) => void,\n onUpdate: () => void,\n isDefaultStream?: boolean,\n disabled?: boolean,\n};\n\ntype OpenableForm = {\n open: () => void\n}\n\nconst StreamControls = ({\n stream,\n disabled,\n isDefaultStream,\n user,\n onClone,\n onDelete,\n onQuickAdd,\n onUpdate,\n indexSets,\n}: Props) => {\n const streamForm = useRef();\n const cloneForm = useRef();\n const _onDelete = useCallback(() => onDelete(stream), [onDelete, stream]);\n const _onEdit = useCallback(() => streamForm.current.open(), []);\n const _onClone = useCallback(() => cloneForm.current.open(), []);\n const _onCloneSubmit = useCallback((_, newStream: Stream) => onClone(stream.id, newStream), [onClone, stream.id]);\n const _onQuickAdd = useCallback(() => onQuickAdd(stream.id), [onQuickAdd, stream.id]);\n const _setStartpage = useCallback(() => StartpageStore.set(user.id, 'stream', stream.id), [stream.id, user.id]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n >\n );\n};\n\nStreamControls.propTypes = {\n stream: PropTypes.object.isRequired,\n user: PropTypes.object.isRequired,\n indexSets: PropTypes.array.isRequired,\n onDelete: PropTypes.func.isRequired,\n onClone: PropTypes.func.isRequired,\n onQuickAdd: PropTypes.func.isRequired,\n onUpdate: PropTypes.func.isRequired,\n isDefaultStream: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nStreamControls.defaultProps = {\n disabled: false,\n isDefaultStream: false,\n};\n\nexport default StreamControls;\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 PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Label } from 'components/bootstrap';\n\nclass StreamStateBadge extends React.Component {\n static propTypes = {\n stream: PropTypes.object.isRequired,\n };\n\n render() {\n if (this.props.stream.is_default) {\n return ;\n }\n\n if (!this.props.stream.disabled) {\n return null;\n }\n\n return ;\n }\n}\n\nexport default StreamStateBadge;\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 PropTypes from 'prop-types';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport EntityShareModal from 'components/permissions/EntityShareModal';\nimport { Link, LinkContainer } from 'components/common/router';\nimport { Button, Tooltip, ButtonToolbar } from 'components/bootstrap';\nimport { Icon, OverlayElement, ShareButton } from 'components/common';\nimport StreamRuleForm from 'components/streamrules/StreamRuleForm';\nimport { isAnyPermitted, isPermitted } from 'util/PermissionsMixin';\nimport UserNotification from 'util/UserNotification';\nimport Routes from 'routing/Routes';\nimport StreamsStore from 'stores/streams/StreamsStore';\nimport { StreamRulesStore } from 'stores/streams/StreamRulesStore';\nimport ObjectUtils from 'util/ObjectUtils';\n\nimport StreamMetaData from './StreamMetaData';\nimport StreamControls from './StreamControls';\nimport StreamStateBadge from './StreamStateBadge';\n\nconst StreamListItem = styled.li(({ theme }) => css`\n display: block;\n padding: 15px 0;\n\n &:not(:last-child) {\n border-bottom: 1px solid ${theme.colors.gray[90]};\n }\n\n .stream-data {\n margin-top: 8px;\n }\n\n .stream-description {\n margin-bottom: 3px;\n\n .fa-cube {\n margin-right: 5px;\n }\n }\n \n .overlay-trigger {\n float: left;\n margin-left: 5px;\n }\n`);\n\nconst StreamTitle = styled.h2(({ theme }) => `\n font-family: ${theme.fonts.family.body};\n`);\n\nconst ToggleButton = styled(Button)`\n min-width: 8.8em;\n`;\n\nconst _onDelete = (stream) => {\n // eslint-disable-next-line no-alert\n if (window.confirm('Do you really want to remove this stream?')) {\n StreamsStore.remove(stream.id, (response) => {\n UserNotification.success(`Stream '${stream.title}' was deleted successfully.`, 'Success');\n\n return response;\n });\n }\n};\n\nconst _onUpdate = (streamId, _stream) => {\n const stream = ObjectUtils.trimObjectFields(_stream, ['title']);\n\n StreamsStore.update(streamId, stream, (response) => {\n UserNotification.success(`Stream '${stream.title}' was updated successfully.`, 'Success');\n\n return response;\n });\n};\n\nconst _onClone = (streamId, _stream) => {\n const stream = ObjectUtils.trimObjectFields(_stream, ['title']);\n\n StreamsStore.cloneStream(streamId, stream, (response) => {\n UserNotification.success(`Stream was successfully cloned as '${stream.title}'.`, 'Success');\n\n return response;\n });\n};\n\nclass Stream extends React.Component {\n static propTypes = {\n stream: PropTypes.object.isRequired,\n permissions: PropTypes.arrayOf(PropTypes.string).isRequired,\n streamRuleTypes: PropTypes.array.isRequired,\n user: PropTypes.object.isRequired,\n indexSets: PropTypes.array.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n loading: false,\n showStreamRuleForm: false,\n showEntityShareModal: false,\n };\n }\n\n _closeStreamRuleForm = () => {\n this.setState({ showStreamRuleForm: false });\n };\n\n _openStreamRuleForm = () => {\n this.setState({ showStreamRuleForm: true });\n };\n\n _closeEntityShareModal = () => {\n this.setState({ showEntityShareModal: false });\n };\n\n _openEntityShareModal = () => {\n this.setState({ showEntityShareModal: true });\n };\n\n _onResume = () => {\n const { stream } = this.props;\n\n this.setState({ loading: true });\n\n StreamsStore.resume(stream.id, (response) => response)\n .finally(() => this.setState({ loading: false }));\n };\n\n _onPause = () => {\n const { stream } = this.props;\n\n // eslint-disable-next-line no-alert\n if (window.confirm(`Do you really want to pause stream '${stream.title}'?`)) {\n this.setState({ loading: true });\n\n StreamsStore.pause(stream.id, (response) => response)\n .finally(() => this.setState({ loading: false }));\n }\n };\n\n _onSaveStreamRule = (streamRuleId, streamRule) => {\n const { stream } = this.props;\n\n StreamRulesStore.create(stream.id, streamRule, () => UserNotification.success('Stream rule was created successfully.', 'Success'));\n };\n\n render() {\n const { indexSets, stream, permissions, streamRuleTypes, user } = this.props;\n const { loading, showStreamRuleForm, showEntityShareModal } = this.state;\n\n const isDefaultStream = stream.is_default;\n const isNotEditable = !stream.is_editable;\n const defaultStreamTooltip = isDefaultStream\n ? Action not available for the default stream : null;\n\n let editRulesLink;\n\n if (isPermitted(permissions, [`streams:edit:${stream.id}`])) {\n editRulesLink = (\n \n \n \n \n \n );\n }\n\n let toggleStreamLink;\n\n if (isAnyPermitted(permissions, [`streams:changestate:${stream.id}`, `streams:edit:${stream.id}`])) {\n if (stream.disabled) {\n toggleStreamLink = (\n \n \n {loading ? 'Starting...' : 'Start Stream'}\n \n \n );\n } else {\n toggleStreamLink = (\n \n \n {loading ? 'Pausing...' : 'Pause Stream'}\n \n \n );\n }\n }\n\n const createdFromContentPack = (stream.content_pack\n ? : null);\n\n const streamControls = (\n \n \n \n );\n\n const indexSet = indexSets.find((is) => is.id === stream.index_set_id) || indexSets.find((is) => is.is_default);\n const indexSetDetails = isPermitted(permissions, ['indexsets:read']) && indexSet ? index set {indexSet.title} : null;\n\n return (\n \n \n {toggleStreamLink}{' '}\n {editRulesLink}{' '}\n \n {streamControls}\n \n\n \n {stream.title}\n {' '}\n {indexSetDetails}\n \n\n
\n {showStreamRuleForm && (\n \n )}\n {showEntityShareModal && (\n \n )}\n \n );\n }\n}\n\nexport default Stream;\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 PropTypes from 'prop-types';\nimport React from 'react';\nimport createReactClass from 'create-react-class';\nimport styled from 'styled-components';\n\nimport { Alert } from 'components/bootstrap';\nimport { Icon } from 'components/common';\nimport PermissionsMixin from 'util/PermissionsMixin';\n\nimport Stream from './Stream';\n\nconst StreamsList = styled.ul`\n padding: 0;\n margin: 0;\n`;\n\nconst StreamList = createReactClass({\n displayName: 'StreamList',\n\n propTypes: {\n streams: PropTypes.array.isRequired,\n streamRuleTypes: PropTypes.array.isRequired,\n indexSets: PropTypes.array.isRequired,\n user: PropTypes.object.isRequired,\n permissions: PropTypes.array.isRequired,\n },\n\n mixins: [PermissionsMixin],\n\n getInitialState() {\n return {};\n },\n\n _formatStream(stream) {\n return (\n \n );\n },\n\n render() {\n if (this.props.streams.length > 0) {\n const streamList = this.props.streams.map(this._formatStream);\n\n return (\n \n {streamList}\n \n );\n }\n\n return (\n \n No streams match your search filter.\n \n );\n },\n});\n\nexport default StreamList;\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 PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Alert } from 'components/bootstrap';\nimport { Icon, IfPermitted, PaginatedList, SearchForm } from 'components/common';\nimport Spinner from 'components/common/Spinner';\nimport QueryHelper from 'components/common/QueryHelper';\nimport withPaginationQueryParameter from 'components/common/withPaginationQueryParameter';\nimport StreamsStore from 'stores/streams/StreamsStore';\nimport { StreamRulesStore } from 'stores/streams/StreamRulesStore';\n\nimport StreamList from './StreamList';\nimport CreateStreamButton from './CreateStreamButton';\n\nclass StreamComponent extends React.Component {\n static propTypes = {\n currentUser: PropTypes.object.isRequired,\n onStreamSave: PropTypes.func.isRequired,\n indexSets: PropTypes.array.isRequired,\n paginationQueryParameter: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n pagination: {\n count: 0,\n total: 0,\n query: '',\n },\n };\n }\n\n componentDidMount() {\n this.loadData();\n\n StreamRulesStore.types().then((types) => {\n this.setState({ streamRuleTypes: types });\n });\n\n StreamsStore.onChange(this.loadData);\n StreamRulesStore.onChange(this.loadData);\n }\n\n componentWillUnmount() {\n StreamsStore.unregister(this.loadData);\n StreamRulesStore.unregister(this.loadData);\n }\n\n loadData = (callback, page = this.props.paginationQueryParameter.page, perPage = this.props.paginationQueryParameter.pageSize) => {\n const { query } = this.state.pagination;\n\n StreamsStore.searchPaginated(page, perPage, query)\n .then(({ streams, pagination }) => {\n this.setState({\n streams: streams,\n pagination: pagination,\n });\n })\n .then(() => {\n if (callback) {\n callback();\n }\n });\n };\n\n _isLoading = () => {\n const { state } = this;\n\n return !(state.streams && state.streamRuleTypes);\n };\n\n _onPageChange = (newPage, newPerPage) => {\n this.loadData(null, newPage, newPerPage);\n };\n\n _onSearch = (query, resetLoadingCallback) => {\n const { pagination } = this.state;\n const newPagination = { ...pagination, query: query };\n this.props.paginationQueryParameter.resetPage();\n this.setState({ pagination: newPagination }, () => this.loadData(resetLoadingCallback));\n };\n\n _onReset = () => {\n const { pagination } = this.state;\n const newPagination = { ...pagination, query: '' };\n this.props.paginationQueryParameter.resetPage();\n this.setState({ pagination: newPagination }, this.loadData);\n };\n\n render() {\n const { streams, pagination, streamRuleTypes } = this.state;\n const { currentUser, onStreamSave, indexSets } = this.props;\n\n if (this._isLoading()) {\n return (\n
\n );\n }\n}\n\nexport default withPaginationQueryParameter(StreamComponent);\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 React, { useEffect } from 'react';\n\nimport { Row, Col } from 'components/bootstrap';\nimport CreateStreamButton from 'components/streams/CreateStreamButton';\nimport StreamComponent from 'components/streams/StreamComponent';\nimport PageHeader from 'components/common/PageHeader';\nimport { DocumentTitle, IfPermitted, Spinner } from 'components/common';\nimport DocsHelper from 'util/DocsHelper';\nimport UserNotification from 'util/UserNotification';\nimport StreamsStore from 'stores/streams/StreamsStore';\nimport { IndexSetsActions, IndexSetsStore } from 'stores/indices/IndexSetsStore';\nimport useCurrentUser from 'hooks/useCurrentUser';\nimport { useStore } from 'stores/connect';\n\nconst StreamsPage = () => {\n const currentUser = useCurrentUser();\n const { indexSets } = useStore(IndexSetsStore);\n\n useEffect(() => {\n IndexSetsActions.list(false);\n });\n\n const isLoading = !currentUser || !indexSets;\n\n const onSave = (_, stream) => {\n StreamsStore.save(stream, () => {\n UserNotification.success('Stream has been successfully created.', 'Success');\n });\n };\n\n if (isLoading) {\n return ;\n }\n\n return (\n \n
\n \n \n \n )}>\n \n You can route incoming messages into streams by applying rules against them. Messages matching\n the rules of a stream are routed into it. A message can also be routed into multiple streams.\n \n \n\n \n
\n \n \n \n
\n \n );\n};\n\nexport default StreamsPage;\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 Reflux from 'reflux';\nimport PropTypes from 'prop-types';\nimport isArray from 'lodash/isArray';\n\nimport ApiRoutes from 'routing/ApiRoutes';\nimport fetch from 'logic/rest/FetchProvider';\nimport { qualifyUrl } from 'util/URLUtils';\nimport UserNotification from 'util/UserNotification';\nimport { singletonStore, singletonActions } from 'logic/singleton';\nimport type { RetentionStrategyConfig, RotationStrategyConfig } from 'components/indices/Types';\nimport { RetentionStrategyConfigPropType, RotationStrategyConfigPropType } from 'components/indices/Types';\n\nexport const IndexSetPropType = PropTypes.shape({\n can_be_default: PropTypes.bool,\n id: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string.isRequired,\n index_prefix: PropTypes.string.isRequired,\n shards: PropTypes.number.isRequired,\n replicas: PropTypes.number.isRequired,\n rotation_strategy_class: PropTypes.string.isRequired,\n rotation_strategy: RotationStrategyConfigPropType.isRequired,\n retention_strategy_class: PropTypes.string.isRequired,\n retention_strategy: RetentionStrategyConfigPropType.isRequired,\n creation_date: PropTypes.string,\n index_analyzer: PropTypes.string.isRequired,\n index_optimization_max_num_segments: PropTypes.number.isRequired,\n index_optimization_disabled: PropTypes.bool.isRequired,\n field_type_refresh_interval: PropTypes.number.isRequired,\n index_template_type: PropTypes.string,\n writable: PropTypes.bool.isRequired,\n default: PropTypes.bool.isRequired,\n});\nexport type IndexSet = {\n can_be_default?: boolean,\n id?: string,\n title: string,\n description: string,\n index_prefix: string,\n shards: number,\n replicas: number,\n rotation_strategy_class: string,\n rotation_strategy: RotationStrategyConfig,\n retention_strategy_class: string,\n retention_strategy: RetentionStrategyConfig\n creation_date?: string,\n index_analyzer: string,\n index_optimization_max_num_segments: number,\n index_optimization_disabled: boolean,\n field_type_refresh_interval: number,\n index_template_type?: string,\n writable: boolean,\n default?: boolean,\n};\n\ntype IndexSetStats = {\n [key: string]: {\n documents: number,\n indices: number,\n size: number,\n },\n}\ntype IndexSetsResponseType = {\n total: number,\n index_sets: Array,\n stats: IndexSetStats,\n};\ntype IndexSetsStoreState = {\n indexSetsCount: number,\n indexSets: Array,\n indexSetStats: IndexSetStats,\n indexSet: IndexSet,\n}\ntype IndexSetsActionsType = {\n list: () => Promise,\n listPaginated: () => Promise,\n get: (indexSetId: string) => Promise,\n update: (indexSet: IndexSet) => Promise,\n create: (indexSet: IndexSet) => Promise,\n delete: () => Promise,\n setDefault: () => Promise,\n stats: () => Promise,\n};\nexport const IndexSetsActions = singletonActions(\n 'core.IndexSets',\n () => Reflux.createActions({\n list: { asyncResult: true },\n listPaginated: { asyncResult: true },\n get: { asyncResult: true },\n update: { asyncResult: true },\n create: { asyncResult: true },\n delete: { asyncResult: true },\n setDefault: { asyncResult: true },\n stats: { asyncResult: true },\n }),\n);\n\nexport const IndexSetsStore = singletonStore(\n 'core.IndexSets',\n () => Reflux.createStore({\n listenables: [IndexSetsActions],\n indexSetsCount: undefined,\n indexSets: undefined,\n indexSetStats: undefined,\n indexSet: undefined,\n\n getInitialState() {\n return {\n indexSetsCount: this.indexSetsCount,\n indexSets: this.indexSets,\n indexSetStats: this.indexSetStats,\n };\n },\n list(stats: boolean) {\n const url = qualifyUrl(ApiRoutes.IndexSetsApiController.list(stats).url);\n const promise = fetch('GET', url);\n\n promise\n .then(\n (response: IndexSetsResponseType) => this.trigger({\n indexSetsCount: response.total,\n indexSets: response.index_sets,\n indexSetStats: response.stats,\n }),\n (error) => {\n UserNotification.error(`Fetching index sets list failed: ${error.message}`,\n 'Could not retrieve index sets.');\n },\n );\n\n IndexSetsActions.list.promise(promise);\n },\n\n listPaginated(skip: number, limit: number, stats: boolean) {\n const url = qualifyUrl(ApiRoutes.IndexSetsApiController.listPaginated(skip, limit, stats).url);\n const promise = fetch('GET', url);\n\n promise\n .then(\n (response: IndexSetsResponseType) => this.trigger({\n indexSetsCount: response.total,\n indexSets: response.index_sets,\n indexSetStats: response.stats,\n }),\n (error) => {\n UserNotification.error(`Fetching index sets list failed: ${this._errorMessage(error)}`,\n 'Could not retrieve index sets.');\n },\n );\n\n IndexSetsActions.listPaginated.promise(promise);\n },\n\n get(indexSetId: string) {\n const url = qualifyUrl(ApiRoutes.IndexSetsApiController.get(indexSetId).url);\n const promise = fetch('GET', url);\n\n promise.then(\n (response: IndexSet) => {\n this.trigger({ indexSet: response });\n\n return response;\n },\n (error) => {\n UserNotification.error(`Fetching index set '${indexSetId}' failed with status: ${this._errorMessage(error)}`, 'Could not retrieve index set.');\n },\n );\n\n IndexSetsActions.get.promise(promise);\n },\n\n update(indexSet: IndexSet) {\n const url = qualifyUrl(ApiRoutes.IndexSetsApiController.get(indexSet.id).url);\n const promise = fetch('PUT', url, indexSet);\n\n promise.then(\n (response: IndexSet) => {\n UserNotification.success(`Successfully updated index set '${indexSet.title}'`, 'Success');\n this.trigger({ indexSet: response });\n\n return response;\n },\n (error) => {\n UserNotification.error(`Updating index set '${indexSet.title}' failed with status: ${this._errorMessage(error)}`, 'Could not update index set.');\n },\n );\n\n IndexSetsActions.update.promise(promise);\n },\n\n create(indexSet: IndexSet) {\n const url = qualifyUrl(ApiRoutes.IndexSetsApiController.create().url);\n const promise = fetch('POST', url, indexSet);\n\n promise.then(\n (response: IndexSet) => {\n UserNotification.success(`Successfully created index set '${indexSet.title}'`, 'Success');\n this.trigger({ indexSet: response });\n\n return response;\n },\n (error) => {\n UserNotification.error(`Creating index set '${indexSet.title}' failed with status: ${this._errorMessage(error)}`, 'Could not create index set.');\n },\n );\n\n IndexSetsActions.create.promise(promise);\n },\n\n delete(indexSet: IndexSet, deleteIndices: boolean) {\n const url = qualifyUrl(ApiRoutes.IndexSetsApiController.delete(indexSet.id, deleteIndices).url);\n const promise = fetch('DELETE', url);\n\n promise.then(\n () => {\n UserNotification.success(`Successfully deleted index set '${indexSet.title}'`, 'Success');\n },\n (error) => {\n UserNotification.error(`Deleting index set '${indexSet.title}' failed with status: ${this._errorMessage(error)}`, 'Could not delete index set.');\n },\n );\n\n IndexSetsActions.delete.promise(promise);\n },\n\n setDefault(indexSet: IndexSet) {\n const url = qualifyUrl(ApiRoutes.IndexSetsApiController.setDefault(indexSet.id).url);\n const promise = fetch('PUT', url);\n\n promise.then(\n () => {\n UserNotification.success(`Successfully set index set '${indexSet.title}' as default`, 'Success');\n },\n (error) => {\n UserNotification.error(`Setting index set '${indexSet.title}' as default failed with status: ${this._errorMessage(error)}`, 'Could not set default index set.');\n },\n );\n\n IndexSetsActions.setDefault.promise(promise);\n },\n\n stats() {\n const url = qualifyUrl(ApiRoutes.IndexSetsApiController.stats().url);\n const promise = fetch('GET', url);\n\n promise\n .then(\n (response) => this.trigger({\n globalIndexSetStats: {\n indices: response.indices,\n documents: response.documents,\n size: response.size,\n },\n }),\n (error) => {\n UserNotification.error(`Fetching global index stats failed: ${error.message}`,\n 'Could not retrieve global index stats.');\n },\n );\n\n IndexSetsActions.stats.promise(promise);\n },\n\n _errorMessage(error) {\n try {\n if (isArray(error.additional.body)) {\n return error.additional.body.map(({ message, path }) => `${path ?? ''} ${message}.`).join(' ');\n }\n\n return error.additional.body.message;\n } catch (e) {\n return error.message;\n }\n },\n }),\n);\n"],"names":["Component","obj","props","result","usePaginationQueryParameter","pageSizes","paginationQueryParameter","PropTypes","max_index_retention_period","SizeBasedRotationStrategyConfigPropType","type","max_size","MessageCountRotationStrategyConfigPropType","max_docs_per_index","TimeBasedRotationStrategyConfigPropType","rotation_period","max_rotation_period","rotate_empty_index_set","RotationStrategyConfigPropType","RetentionStrategyConfigPropType","max_number_of_indices","index_action","JsonSchemaStringPropertyTypePropType","JsonSchemaIndexActionPropertyTypePropType","enum","isRequired","RotationPropertiesPropType","RotationJsonSchemaPropType","id","properties","RetentionPropertiesPropType","RetentionJsonSchemaPropType","RotationStrategyPropType","default_config","json_schema","RetentionStrategyPropType","_getValuesFromProps","defaultIndexSetId","stream","index_set_id","indexSets","length","defaultIndexSet","find","indexSet","default","title","description","removeMatchesFromDefaultStream","remove_matches_from_default_stream","indexSetId","StreamForm","React","constructor","super","this","setState","state","onSubmit","modal","close","_resetValues","IndexSetsActions","open","filter","can_be_default","map","value","label","selection","event","change","target","name","FormsUtils","help","inputId","placeholder","options","_formatSelectOptions","matchProp","onChange","_onIndexSetSelect","undefined","render","propTitle","submitButtonText","BootstrapModalForm","ref","c","onSubmitForm","_onSubmit","required","handleChange","autoFocus","_indexSetSelect","checked","CreateStreamButton","streamForm","bsSize","bsStyle","buttonText","className","onSave","onClick","RuleWrapper","styled","CollapsibleStreamRuleList","expanded","permissions","streamRuleTypes","in","timeout","StreamRuleList","propTypes","defaultProps","createReactClass","displayName","streamId","mixins","Reflux","MetricsStore","UNSAFE_componentWillMount","MetricsActions","_metricName","componentWillUnmount","_calculateThroughput","Object","keys","metrics","nodeId","metricDefinition","metric","reduce","throughput1","throughput2","StreamMetaDataWrapper","StreamMetaData","verbalMatchingType","isDefaultStream","setExpanded","useState","toggleText","is_default","rules","matching_type","plural","singular","key","StreamControls","disabled","user","onClone","onDelete","onQuickAdd","onUpdate","useRef","cloneForm","_onDelete","useCallback","_onEdit","current","_onClone","_onCloneSubmit","_","newStream","_onQuickAdd","_setStartpage","StartpageStore","pullRight","onSelect","to","Routes","HideOnCloud","read_only","divider","StreamStateBadge","StreamListItem","theme","css","colors","gray","StreamTitle","fonts","family","body","ToggleButton","Button","window","confirm","StreamsStore","response","UserNotification","_onUpdate","_stream","ObjectUtils","Stream","showStreamRuleForm","showEntityShareModal","loading","finally","streamRuleId","streamRule","StreamRulesStore","isNotEditable","is_editable","defaultStreamTooltip","editRulesLink","toggleStreamLink","isPermitted","overlay","placement","useOverlay","isAnyPermitted","_onResume","_onPause","createdFromContentPack","content_pack","streamControls","_openStreamRuleForm","is","indexSetDetails","entityId","entityType","_openEntityShareModal","StreamRuleForm","onClose","_closeStreamRuleForm","submitLoadingText","_onSaveStreamRule","EntityShareModal","entityTitle","_closeEntityShareModal","StreamsList","streams","PermissionsMixin","getInitialState","_formatStream","streamList","StreamComponent","callback","page","perPage","pageSize","query","pagination","then","newPage","newPerPage","loadData","resetLoadingCallback","newPagination","resetPage","count","total","componentDidMount","types","currentUser","onStreamSave","_isLoading","style","marginLeft","Spinner","createStreamButton","noStreams","streamsList","streamListComp","_onPageChange","totalItems","marginBottom","onSearch","_onSearch","onReset","_onReset","queryHelpComponent","QueryHelper","entityName","useLoadingState","withPaginationQueryParameter","useCurrentUser","useStore","IndexSetsStore","useEffect","PageHeader","documentationLink","path","DocsHelper","actions","md","IndexSetPropType","index_prefix","shards","replicas","rotation_strategy_class","rotation_strategy","retention_strategy_class","retention_strategy","creation_date","index_analyzer","index_optimization_max_num_segments","index_optimization_disabled","field_type_refresh_interval","index_template_type","writable","singletonActions","list","asyncResult","listPaginated","get","update","create","delete","setDefault","stats","singletonStore","listenables","indexSetsCount","indexSetStats","url","qualifyUrl","ApiRoutes","promise","fetch","trigger","index_sets","error","message","skip","limit","_errorMessage","deleteIndices","globalIndexSetStats","indices","documents","size","isArray","additional","join","e"],"sourceRoot":""}