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

web-interface.assets.57e33c6c-90.11b9f72925818240e61d.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.1
Show newest version
{"version":3,"sources":["webpack:///./src/pages/EditContentPackPage.jsx"],"names":["CombinedProvider","get","CatalogActions","CatalogStore","ContentPacksActions","ContentPacksStore","EditContentPackPage","createReactClass","displayName","propTypes","params","PropTypes","object","isRequired","mixins","Reflux","connect","getInitialState","selectedEntities","contentPackEntities","undefined","appliedParameter","entityCatalog","componentDidMount","this","props","contentPackId","then","result","contentPackRevisions","originContentPackRev","contentPackRev","newContentPack","createNewVersionFromRev","setState","contentPack","cloneDeep","entities","showEntityIndex","_createEntityCatalog","_getSelectedEntities","_getAppliedParameter","state","entityIndex","groupedContentPackEntities","groupBy","Object","keys","reduce","entityType","concat","entity","type","name","findIndex","fetchedEntity","id","newResult","push","configPaths","ValueReferenceData","data","getPaths","paramMap","filter","path","isValueParameter","map","configKey","paramName","getValue","readOnly","length","_onStateChanged","newState","_onSave","create","triggerPromise","toJSON","UserNotification","success","history","Routes","SYSTEM","CONTENTPACKS","LIST","response","smallMessage","additional","body","message","error","_getEntities","getSelectedEntities","acc","e","Entity","fromJSON","builtContentPack","toBuilder","build","fetchedEntities","render","title","href","target","rel","to","bsStyle","onGetEntities","onStateChange","edit","onSave","withParams"],"mappings":"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","file":"57e33c6c-90.11b9f72925818240e61d.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 React from 'react';\nimport PropTypes from 'prop-types';\nimport Reflux from 'reflux';\nimport createReactClass from 'create-react-class';\nimport { cloneDeep, groupBy } from 'lodash';\n\nimport { LinkContainer } from 'components/graylog/router';\nimport Routes from 'routing/Routes';\nimport { Button } from 'components/graylog';\nimport history from 'util/History';\nimport UserNotification from 'util/UserNotification';\nimport { DocumentTitle, PageHeader } from 'components/common';\nimport CombinedProvider from 'injection/CombinedProvider';\nimport ValueReferenceData from 'util/ValueReferenceData';\nimport ContentPackEdit from 'components/content-packs/ContentPackEdit';\nimport Entity from 'logic/content-packs/Entity';\nimport withParams from 'routing/withParams';\n\nconst { CatalogActions, CatalogStore } = CombinedProvider.get('Catalog');\nconst { ContentPacksActions, ContentPacksStore } = CombinedProvider.get('ContentPacks');\n\nconst EditContentPackPage = createReactClass({\n  displayName: 'EditContentPackPage',\n\n  propTypes: {\n    params: PropTypes.object.isRequired,\n  },\n\n  mixins: [Reflux.connect(CatalogStore), Reflux.connect(ContentPacksStore)],\n\n  getInitialState() {\n    return {\n      selectedEntities: {},\n      contentPackEntities: undefined,\n      appliedParameter: {},\n      entityCatalog: {},\n    };\n  },\n\n  componentDidMount() {\n    const { params } = this.props;\n\n    ContentPacksActions.get(params.contentPackId).then((result) => {\n      const { contentPackRevisions } = result;\n      const originContentPackRev = params.contentPackRev;\n      const newContentPack = contentPackRevisions.createNewVersionFromRev(originContentPackRev);\n\n      this.setState({ contentPack: newContentPack, contentPackEntities: cloneDeep(newContentPack.entities) });\n\n      CatalogActions.showEntityIndex().then(() => {\n        this._createEntityCatalog();\n        this._getSelectedEntities();\n        this._getAppliedParameter();\n      });\n    });\n  },\n\n  _createEntityCatalog() {\n    const { contentPack, contentPackEntities, entityIndex } = this.state;\n\n    if (!contentPack || !entityIndex) {\n      return;\n    }\n\n    const groupedContentPackEntities = groupBy(contentPackEntities, 'type.name');\n    const entityCatalog = Object.keys(entityIndex)\n      .reduce((result, entityType) => {\n        /* eslint-disable-next-line no-param-reassign */\n        result[entityType] = entityIndex[entityType].concat(groupedContentPackEntities[entityType] || []);\n\n        return result;\n      }, {});\n\n    this.setState({ entityCatalog });\n  },\n\n  _getSelectedEntities() {\n    const { contentPack, entityCatalog, entityIndex } = this.state;\n\n    if (!contentPack || !entityIndex) {\n      return;\n    }\n\n    const selectedEntities = contentPack.entities.reduce((result, entity) => {\n      if (entityCatalog[entity.type.name]\n        && entityCatalog[entity.type.name].findIndex((fetchedEntity) => { return fetchedEntity.id === entity.id; }) >= 0) {\n        const newResult = result;\n\n        newResult[entity.type.name] = result[entity.type.name] || [];\n        newResult[entity.type.name].push(entity);\n\n        return newResult;\n      }\n\n      return result;\n    }, {});\n\n    this.setState({ selectedEntities: selectedEntities });\n  },\n\n  _getAppliedParameter() {\n    const { contentPack } = this.state;\n\n    const appliedParameter = contentPack.entities.reduce((result, entity) => {\n      const entityData = new ValueReferenceData(entity.data);\n      const configPaths = entityData.getPaths();\n\n      const paramMap = Object.keys(configPaths).filter((path) => {\n        return configPaths[path].isValueParameter();\n      }).map((path) => {\n        return { configKey: path, paramName: configPaths[path].getValue(), readOnly: true };\n      });\n      const newResult = result;\n\n      if (paramMap.length > 0) {\n        newResult[entity.id] = paramMap;\n      }\n\n      return newResult;\n    }, {});\n\n    this.setState({ appliedParameter: appliedParameter });\n  },\n\n  _onStateChanged(newState) {\n    const { contentPack, selectedEntities, appliedParameter } = this.state;\n\n    this.setState({\n      contentPack: newState.contentPack || contentPack,\n      selectedEntities: newState.selectedEntities || selectedEntities,\n      appliedParameter: newState.appliedParameter || appliedParameter,\n    });\n  },\n\n  _onSave() {\n    const { contentPack } = this.state;\n\n    ContentPacksActions.create.triggerPromise(contentPack.toJSON())\n      .then(\n        () => {\n          UserNotification.success('Content pack imported successfully', 'Success!');\n          history.push(Routes.SYSTEM.CONTENTPACKS.LIST);\n        },\n        (response) => {\n          const message = 'Error importing content pack, please ensure it is a valid JSON file. Check your '\n            + 'Graylog logs for more information.';\n          const title = 'Could not import content pack';\n          let smallMessage = '';\n\n          if (response.additional && response.additional.body && response.additional.body.message) {\n            smallMessage = `
${response.additional.body.message}`;\n }\n\n UserNotification.error(message + smallMessage, title);\n },\n );\n },\n\n _getEntities(selectedEntities) {\n const { contentPack } = this.state;\n\n CatalogActions.getSelectedEntities(selectedEntities).then((result) => {\n const contentPackEntities = Object.keys(selectedEntities)\n .reduce((acc, entityType) => {\n return acc.concat(selectedEntities[entityType]);\n }, []).filter((e) => e instanceof Entity);\n /* Mark entities from server */\n const entities = contentPackEntities.concat(result.entities.map((e) => Entity.fromJSON(e, true)));\n const builtContentPack = contentPack.toBuilder()\n .entities(entities)\n .build();\n\n this.setState({ contentPack: builtContentPack, fetchedEntities: builtContentPack.entities });\n });\n },\n\n render() {\n const { contentPack, fetchedEntities, selectedEntities, entityCatalog, appliedParameter } = this.state;\n\n return (\n \n \n \n \n Content packs accelerate the set up process for a specific data source. A content pack can include inputs/extractors, streams, and dashboards.\n \n\n \n Find more content packs in {' '}\n the Graylog Marketplace.\n \n\n
\n \n \n \n
\n
\n \n
\n
\n );\n },\n});\n\nexport default withParams(EditContentPackPage);\n"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy