Sha256: bedbda2f0177a041aae293197322f3e5ab6f5ff4cfd6972f7cbb09c2f8e05629

Contents?: true

Size: 955 Bytes

Versions: 5

Compression:

Stored size: 955 Bytes

Contents

import React from 'react';
import PropTypes from 'prop-types';
import { CancelButton } from './CancelButton';
import { ResumeButton } from './ResumeButton';

export const ActionButton = ({ id, name, availableActions, taskActions }) => {
  const isResume = availableActions.resumable;
  if (isResume) {
    return (
      <ResumeButton
        id={id}
        name={name}
        onClick={taskActions.resumeTask}
        disabled={false}
      />
    );
  }
  return (
    <CancelButton
      id={id}
      name={name}
      disabled={!availableActions.cancellable}
      onClick={taskActions.cancelTask}
    />
  );
};

ActionButton.propTypes = {
  id: PropTypes.string.isRequired,
  name: PropTypes.string.isRequired,
  availableActions: PropTypes.shape({
    cancellable: PropTypes.bool,
    resumable: PropTypes.bool,
  }).isRequired,
  taskActions: PropTypes.shape({
    cancelTask: PropTypes.func,
    resumeTask: PropTypes.func,
  }).isRequired,
};

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
foreman-tasks-1.1.3 webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js
foreman-tasks-1.1.2 webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js
foreman-tasks-1.1.1 webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js
foreman-tasks-1.1.0 webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js
foreman-tasks-1.0.1 webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js