Sha256: 9396e127c001e30e2cc67cd0ca9c843a0a96da5530acdfd5434a026bf3408c9d

Contents?: true

Size: 1.4 KB

Versions: 28

Compression:

Stored size: 1.4 KB

Contents

import { FormattedMessage } from 'react-intl';
import React from 'react';
import PropTypes from 'prop-types';
import { Alert, Button } from 'patternfly-react';
import { sprintf, translate as __ } from 'foremanReact/common/I18n';

export const SelectAllAlert = ({
  itemCount,
  perPage,
  selectAllRows,
  unselectAllRows,
  allRowsSelected,
}) => {
  const selectAllText = (
    <React.Fragment>
      {sprintf(
        'All %s tasks on this page are selected',
        Math.min(itemCount, perPage)
      )}
      <Button bsStyle="link" onClick={selectAllRows}>
        <FormattedMessage
          id="select-all-tasks"
          values={{
            count: <b>{itemCount}</b>,
          }}
          defaultMessage={__('Select all {count} tasks')}
        />
      </Button>
    </React.Fragment>
  );
  const undoSelectText = (
    <React.Fragment>
      {sprintf(__('All %s tasks are selected.'), itemCount)}
      <Button bsStyle="link" onClick={unselectAllRows}>
        {__('Undo selection')}
      </Button>
    </React.Fragment>
  );
  const selectAlertText = allRowsSelected ? undoSelectText : selectAllText;
  return <Alert type="info">{selectAlertText}</Alert>;
};

SelectAllAlert.propTypes = {
  allRowsSelected: PropTypes.bool.isRequired,
  itemCount: PropTypes.number.isRequired,
  perPage: PropTypes.number.isRequired,
  selectAllRows: PropTypes.func.isRequired,
  unselectAllRows: PropTypes.func.isRequired,
};

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
foreman-tasks-10.0.2 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-10.0.1 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-10.0.0 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.2.3 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.2.2 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.2.1 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.2.0 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.1.1 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.0.4 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.1.0 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.0.2 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.0.1 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-8.3.3 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-9.0.0 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-8.2.1 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-8.1.4 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-8.3.2 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-8.3.1 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-8.1.3 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
foreman-tasks-8.3.0 webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js