// Copyright 2018 Red Hat, Inc // // Licensed under the Apache License, Version 2.0 (the "License"); you may // not use this file except in compliance with the License. You may obtain // a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations // under the License. import * as React from 'react' import PropTypes from 'prop-types' import { connect } from 'react-redux' import { Link } from 'react-router-dom' function ProjectVariant(props) { const { tenant, variant } = props const rows = [] if (variant.merge_mode) { rows.push({label: 'Merge mode', value: variant.merge_mode}) } if (variant.templates.length > 0) { const templateList = ( ) rows.push({label: 'Templates', value: templateList}) } variant.pipelines.forEach(pipeline => { // TODO: either adds job link anchor to load the right variant // and/or show the job variant config in a modal? const jobList = ( {pipeline.queue_name && (

Queue: {pipeline.queue_name}

)}
) rows.push({label: pipeline.name + ' jobs', value: jobList}) }) return (
{rows.map(item => ( ))}
{item.label} {item.value}
) } ProjectVariant.propTypes = { tenant: PropTypes.object, variant: PropTypes.object.isRequired, preferences: PropTypes.object, } function mapStateToProps(state) { return { tenant: state.tenant, preferences: state.preferences, } } export default connect(mapStateToProps)(ProjectVariant)