actions?: {
associateProjects: boolean;
copy: boolean;
- edit: boolean;
+ delete: boolean;
+ manageConditions: boolean;
+ rename: boolean;
setAsDefault: boolean;
};
conditions?: Condition[];
fetchDetails = () => {
this.setState({ loading: true });
- getApplicationQualityGate(this.props.component.key).then(({ status, projects, metrics }) => {
- if (this.mounted) {
- this.setState({
- loading: false,
- metrics: keyBy(metrics, 'key'),
- status,
- projects
- });
+ getApplicationQualityGate(this.props.component.key).then(
+ ({ status, projects, metrics }) => {
+ if (this.mounted) {
+ this.setState({
+ loading: false,
+ metrics: keyBy(metrics, 'key'),
+ status,
+ projects
+ });
+ }
+ },
+ () => {
+ if (this.mounted) {
+ this.setState({ loading: false });
+ }
}
- });
+ );
};
render() {
qualityGate={gate}
conditions={conditions}
metrics={metrics}
- edit={actions.edit}
+ edit={actions.manageConditions}
onAddCondition={onAddCondition}
onSaveCondition={onSaveCondition}
onDeleteCondition={onDeleteCondition}
</h2>
<div className="pull-right">
- {actions.edit && (
+ {actions.rename && (
<button id="quality-gate-rename" onClick={this.handleRenameClick}>
{translate('rename')}
</button>
{translate('set_as_default')}
</button>
)}
- {actions.edit && (
+ {actions.delete && (
<button
id="quality-gate-delete"
className="little-spacer-left button-red"
import CreateView from '../views/create-view';
import { translate } from '../../../helpers/l10n';
-export default function ListHeader({ canEdit, onAdd }) {
+export default function ListHeader({ canCreate, onAdd }) {
function handleAddClick(e) {
e.preventDefault();
new CreateView({ onAdd }).render();
return (
<header className="page-header">
<h1 className="page-title">{translate('quality_gates.page')}</h1>
- {canEdit && (
+ {canCreate && (
<div className="page-actions">
<button id="quality-gate-add" onClick={handleAddClick}>
{translate('create')}
<div className="layout-page-side" style={{ top }}>
<div className="layout-page-side-inner">
<div className="layout-page-filters">
- <ListHeader canEdit={actions && actions.create} onAdd={this.handleAdd} />
+ <ListHeader canCreate={actions && actions.create} onAdd={this.handleAdd} />
{qualityGates && <List organization={organization} qualityGates={qualityGates} />}
</div>
</div>