import React from 'react';
import { FormGroup, FormControl, ControlLabel, HelpBlock } from 'react-bootstrap';
import { translate as __ } from 'foremanReact/common/I18n';
import { urlBuilder } from 'foremanReact/common/urlHelpers';
import {
headerFormatter,
cellFormatter,
selectionHeaderCellFormatter,
selectionCellFormatter,
} from '../../../move_to_foreman/components/common/table';
export const columns = (controller, selectionController) => [
{
property: 'select',
header: {
label: __('Select all rows'),
formatters: [label => selectionHeaderCellFormatter(selectionController, label)],
},
cell: {
formatters: [
(value, additionalData) => selectionCellFormatter(selectionController, additionalData),
],
},
},
{
property: 'id',
header: {
label: __('Subscription Name'),
formatters: [headerFormatter],
},
cell: {
formatters: [
(value, { rowData }) => (
{rowData.product_name}
|
),
],
},
},
{
property: 'contract_number',
header: {
label: __('Contract'),
formatters: [headerFormatter],
},
cell: {
formatters: [cellFormatter],
},
},
// TODO: use date formatter from tomas' PR
{
property: 'start_date',
header: {
label: __('Start Date'),
formatters: [headerFormatter],
},
cell: {
formatters: [cellFormatter],
},
},
{
property: 'end_date',
header: {
label: __('End Date'),
formatters: [headerFormatter],
},
cell: {
formatters: [cellFormatter],
},
},
{
property: 'available',
header: {
label: __('Available Entitlements'),
formatters: [headerFormatter],
},
cell: {
formatters: [
value => (
{value === -1 ? __('Unlimited') : value }
|
),
],
},
},
{
property: 'consumed',
header: {
label: __('Quantity to Allocate'),
formatters: [headerFormatter],
},
cell: {
formatters: [
(value, { rowData }) => (
{__('Number to Allocate')}
controller.onChange(e.target.value, rowData)}
defaultValue={rowData.updatedQuantity}
onChange={(e) => {
controller.onChange(e.target.value, rowData);
}}
onKeyDown={(e) => {
const key = e.charCode ? e.charCode : e.keyCode;
if (key === 13) {
controller.saveUpstreamSubscriptions();
e.preventDefault();
}
}}
/>
{controller.quantityValidationInput(rowData) === 'error' &&
{controller.quantityValidation(rowData)[1]}}
|
),
],
},
},
];
export default columns;