Sha256: 495f206da83618592dd90f9274c7fa62f2cb6c3421109d1a339de42ec1b9e159

Contents?: true

Size: 1.44 KB

Versions: 50

Compression:

Stored size: 1.44 KB

Contents

/* eslint-disable react-hooks/exhaustive-deps */
import React, { useEffect } from 'react';
import PropTypes from 'prop-types';
import { FormGroup, TextInput } from '@patternfly/react-core';
import { noop } from 'foremanReact/common/helpers';
import { translate as __ } from 'foremanReact/common/I18n';
import { useForemanOrganization } from 'foremanReact/Root/Context/ForemanContext';
import ClearButton from './Components/ClearButton';
import './inventoryFilter.scss';
import { ANY_ORGANIZATION } from './InventoryFilterConstants';

const InventoryFilter = ({
  handleFilterChange,
  handleFilterClear,
  filterTerm,
}) => {
  useEffect(() => {
    const initialTerm = organization === ANY_ORGANIZATION ? '' : organization;
    handleFilterChange(initialTerm);
  }, []);

  const organization = useForemanOrganization()?.title;

  return (
    <form id="inventory_filter_form">
      <FormGroup>
        <TextInput
          id="inventory_filter_input"
          value={filterTerm}
          type="text"
          placeholder={__('Filter..')}
          onChange={handleFilterChange}
        />
        <ClearButton onClear={handleFilterClear} />
      </FormGroup>
    </form>
  );
};

InventoryFilter.propTypes = {
  handleFilterChange: PropTypes.func,
  handleFilterClear: PropTypes.func,
  filterTerm: PropTypes.string,
};

InventoryFilter.defaultProps = {
  handleFilterChange: noop,
  handleFilterClear: noop,
  filterTerm: '',
};

export default InventoryFilter;

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
foreman_rh_cloud-5.0.39 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.38 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.37 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.36 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.35 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.34 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.33 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.32 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.31 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js
foreman_rh_cloud-5.0.30 webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js