All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.b6fe2bb5-3725.da4841809748fa2867c0.js.map Maven / Gradle / Ivy

{"version":3,"file":"b6fe2bb5-3725.da4841809748fa2867c0.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/views/components/views/DashboardListItem.tsx","webpack://graylog-web-interface/./src/views/components/views/DashboardList.tsx","webpack://graylog-web-interface/./src/views/logic/dashboards/useDashboards.ts","webpack://graylog-web-interface/./src/views/pages/DashboardsPage.tsx"],"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 React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Link } from 'components/common/router';\nimport Routes from 'routing/Routes';\nimport { EntityListItem } from 'components/common';\nimport CurrentUserContext from 'contexts/CurrentUserContext';\nimport Timestamp from 'components/common/Timestamp';\nimport withPluginEntities from 'views/logic/withPluginEntities';\n\nconst formatTitle = (title, id, disabled = false) => (disabled\n  ? 

{title}

\n : {title});\n\nconst OwnerTag = ({ owner }) => {\n const currentUser = useContext(CurrentUserContext);\n\n if (!owner || owner === currentUser?.username) {\n return Last saved;\n }\n\n return Shared by {owner}, last saved;\n};\n\nOwnerTag.propTypes = {\n owner: PropTypes.string.isRequired,\n};\n\n// eslint-disable-next-line react/prop-types\nconst Description = ({ description, owner, createdAt }) => (\n <>\n
{description || No description given.}
\n
at
\n \n);\n\ntype Plugin = {\n name: string,\n url: string,\n};\n\ntype RequirementsList = { [key: string]: Plugin };\n\nconst missingRequirements = (requires, requirementsProvided): RequirementsList => Object.entries(requires)\n .filter(([require]) => !requirementsProvided.includes(require))\n .reduce((prev, [key, value]) => ({ ...prev, [key]: value }), {});\n\nconst isMissingRequirements = (requires, requirementsProvided) => Object.keys(missingRequirements(requires, requirementsProvided)).length > 0;\n\ntype RequirementsProps = {\n requires: RequirementsList,\n requirementsProvided: Array,\n};\n\ntype MissingRequirementProps = {\n plugin: Plugin,\n};\n\nconst MissingRequirement = ({ plugin }: MissingRequirementProps) => (\n {plugin.name}\n);\n\nconst Requirements = ({ requires, requirementsProvided }: RequirementsProps) => {\n const missing = missingRequirements(requires, requirementsProvided);\n\n return Object.keys(missing).length > 0\n ? (\n
\n Missing requirement(s): {Object.values(missing)\n .map((plugin: Plugin) => )}\n
\n )\n : null;\n};\n\nconst DashboardListItem = ({ children, id, title, summary, description, owner, requires, createdAt, requirementsProvided }) => (\n \n \n \n \n )}\n actions={children} />\n);\n\nDashboardListItem.propTypes = {\n children: PropTypes.node,\n id: PropTypes.string.isRequired,\n title: PropTypes.string,\n summary: PropTypes.string,\n description: PropTypes.string,\n owner: PropTypes.string.isRequired,\n createdAt: PropTypes.instanceOf(Date).isRequired,\n requires: PropTypes.objectOf(PropTypes.shape({\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n })).isRequired,\n requirementsProvided: PropTypes.arrayOf(PropTypes.string).isRequired,\n};\n\nDashboardListItem.defaultProps = {\n children: null,\n title: 'Unnamed Dashboard',\n summary: null,\n description: null,\n};\n\nexport default withPluginEntities(DashboardListItem, { requirementsProvided: 'views.requires.provided' });\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, useReducer, useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ButtonToolbar, DropdownButton, MenuItem } from 'components/bootstrap';\nimport { IfPermitted, PaginatedList, SearchForm, Spinner, EntityList, ShareButton } from 'components/common';\nimport EntityShareModal from 'components/permissions/EntityShareModal';\nimport QueryHelper from 'components/common/QueryHelper';\nimport type ViewClass from 'views/logic/views/View';\n\nimport DashboardListItem from './DashboardListItem';\n\nimport ViewTypeLabel from '../ViewTypeLabel';\n\nconst ItemActions = ({ dashboard, onDashboardDelete, setDashboardToShare }) => {\n return (\n \n setDashboardToShare(dashboard)} />\n \n \n Delete\n \n \n \n );\n};\n\nItemActions.propTypes = {\n dashboard: PropTypes.object.isRequired,\n setDashboardToShare: PropTypes.func.isRequired,\n onDashboardDelete: PropTypes.func.isRequired,\n};\n\nconst reducer = (state, action) => {\n const { payload = {} } = action;\n const { newQuery, newPage, newPerPage } = payload;\n\n switch (action.type) {\n case 'search':\n return { ...state, query: newQuery, page: 1 };\n case 'searchReset':\n return { ...state, query: '', page: 1 };\n case 'pageChange':\n return { ...state, page: newPage, perPage: newPerPage };\n case 'dashboardDelete':\n return { ...state, page: 1 };\n default:\n return state;\n }\n};\n\nconst DashboardList = ({ pagination, handleSearch, handleDashboardDelete, dashboards }) => {\n const [{ query, page, perPage }, dispatch] = useReducer(reducer, { query: '', page: 1, perPage: 10 });\n const [dashboardToShare, setDashboardToShare] = useState();\n\n const execSearch = useCallback(() => handleSearch(query, page, perPage), [handleSearch, page, perPage, query]);\n\n useEffect(() => {\n execSearch();\n }, [query, page, perPage, execSearch]);\n\n const onDashboardDelete = (dashboard) => () => {\n handleDashboardDelete(dashboard).then(() => {\n dispatch({ type: 'dashboardDelete' });\n execSearch();\n }, () => {});\n };\n\n if (!dashboards) {\n return ;\n }\n\n const items = dashboards.map((dashboard) => (\n \n \n \n ));\n\n return (\n <>\n {dashboardToShare && (\n setDashboardToShare(undefined)} />\n )}\n dispatch({ type: 'pageChange', payload: { newPage, newPerPage } })}\n activePage={pagination.page}\n totalItems={pagination.total}\n pageSize={pagination.perPage}\n pageSizes={[10, 50, 100]}>\n
\n dispatch({ type: 'search', payload: { newQuery } })}\n queryHelpComponent={}\n onReset={() => dispatch({ type: 'searchReset' })}\n topMargin={0} />\n
\n \n
\n \n );\n};\n\nDashboardList.propTypes = {\n dashboards: PropTypes.arrayOf(PropTypes.object),\n pagination: PropTypes.shape({\n total: PropTypes.number.isRequired,\n page: PropTypes.number.isRequired,\n perPage: PropTypes.number.isRequired,\n }).isRequired,\n handleSearch: PropTypes.func.isRequired,\n handleDashboardDelete: PropTypes.func.isRequired,\n};\n\nDashboardList.defaultProps = {\n dashboards: undefined,\n};\n\nexport default DashboardList;\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 { useEffect } from 'react';\n\nimport type { DashboardsStoreState } from 'views/stores/DashboardsStore';\nimport { DashboardsActions, DashboardsStore } from 'views/stores/DashboardsStore';\nimport { useStore } from 'stores/connect';\n\nexport type Dashboards = DashboardsStoreState;\n\ntype SearchQuery = {\n query?: string,\n page?: number,\n perPage?: number\n};\n\nconst useDashboards = (searchQuery: SearchQuery): Readonly => {\n const dashboards = useStore(DashboardsStore);\n\n useEffect(() => {\n DashboardsActions.search(searchQuery?.query ?? '', searchQuery?.page ?? 1, searchQuery?.perPage ?? 10);\n }, [searchQuery]);\n\n return dashboards;\n};\n\nexport default useDashboards;\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, useState } from 'react';\nimport { PluginStore } from 'graylog-web-plugin/plugin';\n\nimport { LinkContainer } from 'components/common/router';\nimport { Col, Row, Button } from 'components/bootstrap';\nimport { DocumentTitle, PageHeader, IfPermitted } from 'components/common';\nimport Routes from 'routing/Routes';\nimport DocumentationLink from 'components/support/DocumentationLink';\nimport DocsHelper from 'util/DocsHelper';\nimport DashboardList from 'views/components/views/DashboardList';\nimport { ViewManagementActions } from 'views/stores/ViewManagementStore';\nimport useDashboards from 'views/logic/dashboards/useDashboards';\nimport iterateConfirmationHooks from 'views/hooks/IterateConfirmationHooks';\n\nimport type View from '../logic/views/View';\n\n// eslint-disable-next-line no-alert\nconst defaultDashboardDeletionHook = async (view: View) => window.confirm(`Are you sure you want to delete \"${view.title}\"?`);\n\nconst handleDashboardDelete = async (view: View) => {\n const pluginDashboardDeletionHooks = PluginStore.exports('views.hooks.confirmDeletingDashboard');\n\n const result = await iterateConfirmationHooks([...pluginDashboardDeletionHooks, defaultDashboardDeletionHook], view);\n\n return result === true ? ViewManagementActions.delete(view) : Promise.reject();\n};\n\ntype SearchQuery = {\n query: string,\n page: number,\n perPage: number,\n};\n\nconst DashboardsPage = () => {\n const [searchQuery, setSearchQuery] = useState({ query: '', page: 1, perPage: 10 });\n const handleSearch = useCallback((query: string, page: number, perPage: number) => setSearchQuery({ query, page, perPage }), []);\n const { list, pagination } = useDashboards(searchQuery);\n\n return (\n \n \n \n \n Use dashboards to create specific views on your messages. Create a new dashboard here and add any graph or\n chart you create in other parts of Graylog with one click.\n \n\n \n Take a look at the\n {' '}{' '}\n for lots of other useful tips.\n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nDashboardsPage.propTypes = {};\n\nexport default DashboardsPage;\n"],"names":["formatTitle","title","id","disabled","to","Routes","OwnerTag","owner","currentUser","useContext","CurrentUserContext","username","propTypes","PropTypes","Description","description","createdAt","style","color","Timestamp","dateTime","missingRequirements","requires","requirementsProvided","Object","entries","filter","require","includes","reduce","prev","key","value","isMissingRequirements","keys","length","MissingRequirement","plugin","href","url","target","rel","name","Requirements","missing","values","map","DashboardListItem","children","summary","titleSuffix","actions","Date","isRequired","defaultProps","withPluginEntities","ItemActions","dashboard","onDashboardDelete","setDashboardToShare","entityId","entityType","onClick","pullRight","permissions","anyPermissions","onSelect","reducer","state","action","payload","newQuery","newPage","newPerPage","type","query","page","perPage","DashboardList","pagination","handleSearch","handleDashboardDelete","dashboards","useReducer","dispatch","useState","dashboardToShare","execSearch","useCallback","useEffect","then","text","items","EntityShareModal","ViewTypeLabel","entityTitle","onClose","undefined","onChange","activePage","totalItems","total","pageSize","pageSizes","marginBottom","onSearch","queryHelpComponent","QueryHelper","entityName","commonFields","onReset","topMargin","bsNoItemsStyle","noItemsText","searchQuery","useStore","DashboardsStore","DashboardsActions","defaultDashboardDeletionHook","view","window","confirm","pluginDashboardDeletionHooks","PluginStore","iterateConfirmationHooks","result","ViewManagementActions","Promise","reject","DashboardsPage","setSearchQuery","useDashboards","list","DocumentationLink","DocsHelper","bsStyle","bsSize","className","md"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy