Project

General

Profile

« Previous | Next » 

Revision 1248ca9b

Added by Amir Fefer over 2 years ago

Fixes #30981 - add a slot in the new host page kebab

View differences:

webpack/assets/javascripts/react_app/components/HostDetails/ActionsBar/Selectors.js
import { selectComponentByWeight } from '../../common/Slot/SlotSelectors';
export const selectKebabItems = () =>
selectComponentByWeight('host-details-kebab');
webpack/assets/javascripts/react_app/components/HostDetails/ActionsBar/index.js
import PropTypes from 'prop-types';
import React, { useState } from 'react';
import { useSelector, shallowEqual } from 'react-redux';
import {
Button,
DropdownItem,
......
} from '@patternfly/react-core';
import { foremanUrl } from '../../../../foreman_navigation';
import { translate as __ } from '../../../common/I18n';
import { selectKebabItems } from './Selectors';
const ActionsBar = ({ hostName }) => {
const [kebabIsOpen, setKebab] = useState(false);
const onKebabToggle = isOpen => setKebab(isOpen);
const registeredItems = useSelector(selectKebabItems, shallowEqual);
const dropdownItems = [
<DropdownItem key="delete" component="button">
......
{__('Build')}
</DropdownItem>,
<DropdownSeparator key="separator" />,
<DropdownItem key="[plugin]-action-1">
{__('plugin action 1')}
</DropdownItem>,
<DropdownItem key="[plugin]-action-2" component="button">
{__('plugin action 2')}
</DropdownItem>,
];
return (
......
toggle={<KebabToggle onToggle={onKebabToggle} />}
isOpen={kebabIsOpen}
isPlain
dropdownItems={dropdownItems}
dropdownItems={dropdownItems.concat(registeredItems)}
/>
</>
);

Also available in: Unified diff