@patternfly/react-core 5.0.0-alpha.87 → 5.0.0-alpha.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/esm/components/AboutModal/package.json +1 -1
- package/dist/esm/components/Accordion/package.json +1 -1
- package/dist/esm/components/ActionList/package.json +1 -1
- package/dist/esm/components/Alert/package.json +1 -1
- package/dist/esm/components/Avatar/package.json +1 -1
- package/dist/esm/components/BackToTop/package.json +1 -1
- package/dist/esm/components/Backdrop/package.json +1 -1
- package/dist/esm/components/BackgroundImage/package.json +1 -1
- package/dist/esm/components/Badge/package.json +1 -1
- package/dist/esm/components/Banner/package.json +1 -1
- package/dist/esm/components/Brand/package.json +1 -1
- package/dist/esm/components/Breadcrumb/package.json +1 -1
- package/dist/esm/components/Button/package.json +1 -1
- package/dist/esm/components/CalendarMonth/package.json +1 -1
- package/dist/esm/components/Card/package.json +1 -1
- package/dist/esm/components/Checkbox/package.json +1 -1
- package/dist/esm/components/Chip/package.json +1 -1
- package/dist/esm/components/ClipboardCopy/package.json +1 -1
- package/dist/esm/components/CodeBlock/package.json +1 -1
- package/dist/esm/components/DataList/package.json +1 -1
- package/dist/esm/components/DatePicker/package.json +1 -1
- package/dist/esm/components/DescriptionList/package.json +1 -1
- package/dist/esm/components/Divider/package.json +1 -1
- package/dist/esm/components/DragDrop/package.json +1 -1
- package/dist/esm/components/Drawer/package.json +1 -1
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +2 -4
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/package.json +1 -1
- package/dist/esm/components/DualListSelector/package.json +1 -1
- package/dist/esm/components/EmptyState/package.json +1 -1
- package/dist/esm/components/ExpandableSection/package.json +1 -1
- package/dist/esm/components/FileUpload/package.json +1 -1
- package/dist/esm/components/Form/package.json +1 -1
- package/dist/esm/components/FormSelect/package.json +1 -1
- package/dist/esm/components/HelperText/package.json +1 -1
- package/dist/esm/components/Hint/package.json +1 -1
- package/dist/esm/components/Icon/package.json +1 -1
- package/dist/esm/components/InputGroup/package.json +1 -1
- package/dist/esm/components/JumpLinks/package.json +1 -1
- package/dist/esm/components/Label/package.json +1 -1
- package/dist/esm/components/LabelGroup/package.json +1 -1
- package/dist/esm/components/List/package.json +1 -1
- package/dist/esm/components/LoginPage/package.json +1 -1
- package/dist/esm/components/Masthead/package.json +1 -1
- package/dist/esm/components/Menu/package.json +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts +3 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.js +1 -3
- package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/esm/components/MenuToggle/package.json +1 -1
- package/dist/esm/components/Modal/package.json +1 -1
- package/dist/esm/components/MultipleFileUpload/package.json +1 -1
- package/dist/esm/components/Nav/Nav.d.ts +4 -6
- package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
- package/dist/esm/components/Nav/Nav.js +3 -4
- package/dist/esm/components/Nav/Nav.js.map +1 -1
- package/dist/esm/components/Nav/NavItem.js +1 -1
- package/dist/esm/components/Nav/NavItem.js.map +1 -1
- package/dist/esm/components/Nav/package.json +1 -1
- package/dist/esm/components/NotificationBadge/package.json +1 -1
- package/dist/esm/components/NotificationDrawer/package.json +1 -1
- package/dist/esm/components/NumberInput/package.json +1 -1
- package/dist/esm/components/OverflowMenu/package.json +1 -1
- package/dist/esm/components/Page/package.json +1 -1
- package/dist/esm/components/Pagination/package.json +1 -1
- package/dist/esm/components/Panel/package.json +1 -1
- package/dist/esm/components/Popover/package.json +1 -1
- package/dist/esm/components/Progress/package.json +1 -1
- package/dist/esm/components/ProgressStepper/package.json +1 -1
- package/dist/esm/components/Radio/package.json +1 -1
- package/dist/esm/components/SearchInput/package.json +1 -1
- package/dist/esm/components/Select/package.json +1 -1
- package/dist/esm/components/Sidebar/package.json +1 -1
- package/dist/esm/components/SimpleList/package.json +1 -1
- package/dist/esm/components/Skeleton/package.json +1 -1
- package/dist/esm/components/SkipToContent/package.json +1 -1
- package/dist/esm/components/Slider/package.json +1 -1
- package/dist/esm/components/Spinner/package.json +1 -1
- package/dist/esm/components/Switch/package.json +1 -1
- package/dist/esm/components/Tabs/package.json +1 -1
- package/dist/esm/components/Text/package.json +1 -1
- package/dist/esm/components/TextArea/package.json +1 -1
- package/dist/esm/components/TextInput/package.json +1 -1
- package/dist/esm/components/TextInputGroup/package.json +1 -1
- package/dist/esm/components/Tile/package.json +1 -1
- package/dist/esm/components/TimePicker/package.json +1 -1
- package/dist/esm/components/Timestamp/package.json +1 -1
- package/dist/esm/components/Title/package.json +1 -1
- package/dist/esm/components/ToggleGroup/package.json +1 -1
- package/dist/esm/components/Toolbar/package.json +1 -1
- package/dist/esm/components/Tooltip/package.json +1 -1
- package/dist/esm/components/TreeView/package.json +1 -1
- package/dist/esm/components/Truncate/package.json +1 -1
- package/dist/esm/components/Wizard/hooks/package.json +1 -1
- package/dist/esm/components/Wizard/package.json +1 -1
- package/dist/esm/components/package.json +1 -1
- package/dist/esm/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/esm/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/esm/deprecated/components/Dropdown/package.json +1 -1
- package/dist/esm/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/esm/deprecated/components/PageHeader/package.json +1 -1
- package/dist/esm/deprecated/components/Select/package.json +1 -1
- package/dist/esm/deprecated/components/Wizard/package.json +1 -1
- package/dist/esm/deprecated/components/package.json +1 -1
- package/dist/esm/deprecated/package.json +1 -1
- package/dist/esm/helpers/Popper/thirdparty/popper-core/package.json +1 -1
- package/dist/esm/helpers/package.json +1 -1
- package/dist/esm/layouts/Bullseye/package.json +1 -1
- package/dist/esm/layouts/Flex/package.json +1 -1
- package/dist/esm/layouts/Gallery/package.json +1 -1
- package/dist/esm/layouts/Grid/package.json +1 -1
- package/dist/esm/layouts/Level/package.json +1 -1
- package/dist/esm/layouts/Split/package.json +1 -1
- package/dist/esm/layouts/Stack/package.json +1 -1
- package/dist/esm/layouts/package.json +1 -1
- package/dist/esm/next/components/package.json +1 -1
- package/dist/esm/next/package.json +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/js/components/AboutModal/package.json +1 -1
- package/dist/js/components/Accordion/package.json +1 -1
- package/dist/js/components/ActionList/package.json +1 -1
- package/dist/js/components/Alert/package.json +1 -1
- package/dist/js/components/Avatar/package.json +1 -1
- package/dist/js/components/BackToTop/package.json +1 -1
- package/dist/js/components/Backdrop/package.json +1 -1
- package/dist/js/components/BackgroundImage/package.json +1 -1
- package/dist/js/components/Badge/package.json +1 -1
- package/dist/js/components/Banner/package.json +1 -1
- package/dist/js/components/Brand/package.json +1 -1
- package/dist/js/components/Breadcrumb/package.json +1 -1
- package/dist/js/components/Button/package.json +1 -1
- package/dist/js/components/CalendarMonth/package.json +1 -1
- package/dist/js/components/Card/package.json +1 -1
- package/dist/js/components/Checkbox/package.json +1 -1
- package/dist/js/components/Chip/package.json +1 -1
- package/dist/js/components/ClipboardCopy/package.json +1 -1
- package/dist/js/components/CodeBlock/package.json +1 -1
- package/dist/js/components/DataList/package.json +1 -1
- package/dist/js/components/DatePicker/package.json +1 -1
- package/dist/js/components/DescriptionList/package.json +1 -1
- package/dist/js/components/Divider/package.json +1 -1
- package/dist/js/components/DragDrop/package.json +1 -1
- package/dist/js/components/Drawer/package.json +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +2 -4
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Dropdown/package.json +1 -1
- package/dist/js/components/DualListSelector/package.json +1 -1
- package/dist/js/components/EmptyState/package.json +1 -1
- package/dist/js/components/ExpandableSection/package.json +1 -1
- package/dist/js/components/FileUpload/package.json +1 -1
- package/dist/js/components/Form/package.json +1 -1
- package/dist/js/components/FormSelect/package.json +1 -1
- package/dist/js/components/HelperText/package.json +1 -1
- package/dist/js/components/Hint/package.json +1 -1
- package/dist/js/components/Icon/package.json +1 -1
- package/dist/js/components/InputGroup/package.json +1 -1
- package/dist/js/components/JumpLinks/package.json +1 -1
- package/dist/js/components/Label/package.json +1 -1
- package/dist/js/components/LabelGroup/package.json +1 -1
- package/dist/js/components/List/package.json +1 -1
- package/dist/js/components/LoginPage/package.json +1 -1
- package/dist/js/components/Masthead/package.json +1 -1
- package/dist/js/components/Menu/package.json +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts +3 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.js +1 -3
- package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/js/components/MenuToggle/package.json +1 -1
- package/dist/js/components/Modal/package.json +1 -1
- package/dist/js/components/MultipleFileUpload/package.json +1 -1
- package/dist/js/components/Nav/Nav.d.ts +4 -6
- package/dist/js/components/Nav/Nav.d.ts.map +1 -1
- package/dist/js/components/Nav/Nav.js +3 -4
- package/dist/js/components/Nav/Nav.js.map +1 -1
- package/dist/js/components/Nav/NavItem.js +1 -1
- package/dist/js/components/Nav/NavItem.js.map +1 -1
- package/dist/js/components/Nav/package.json +1 -1
- package/dist/js/components/NotificationBadge/package.json +1 -1
- package/dist/js/components/NotificationDrawer/package.json +1 -1
- package/dist/js/components/NumberInput/package.json +1 -1
- package/dist/js/components/OverflowMenu/package.json +1 -1
- package/dist/js/components/Page/package.json +1 -1
- package/dist/js/components/Pagination/package.json +1 -1
- package/dist/js/components/Panel/package.json +1 -1
- package/dist/js/components/Popover/package.json +1 -1
- package/dist/js/components/Progress/package.json +1 -1
- package/dist/js/components/ProgressStepper/package.json +1 -1
- package/dist/js/components/Radio/package.json +1 -1
- package/dist/js/components/SearchInput/package.json +1 -1
- package/dist/js/components/Select/package.json +1 -1
- package/dist/js/components/Sidebar/package.json +1 -1
- package/dist/js/components/SimpleList/package.json +1 -1
- package/dist/js/components/Skeleton/package.json +1 -1
- package/dist/js/components/SkipToContent/package.json +1 -1
- package/dist/js/components/Slider/package.json +1 -1
- package/dist/js/components/Spinner/package.json +1 -1
- package/dist/js/components/Switch/package.json +1 -1
- package/dist/js/components/Tabs/package.json +1 -1
- package/dist/js/components/Text/package.json +1 -1
- package/dist/js/components/TextArea/package.json +1 -1
- package/dist/js/components/TextInput/package.json +1 -1
- package/dist/js/components/TextInputGroup/package.json +1 -1
- package/dist/js/components/Tile/package.json +1 -1
- package/dist/js/components/TimePicker/package.json +1 -1
- package/dist/js/components/Timestamp/package.json +1 -1
- package/dist/js/components/Title/package.json +1 -1
- package/dist/js/components/ToggleGroup/package.json +1 -1
- package/dist/js/components/Toolbar/package.json +1 -1
- package/dist/js/components/Tooltip/package.json +1 -1
- package/dist/js/components/TreeView/package.json +1 -1
- package/dist/js/components/Truncate/package.json +1 -1
- package/dist/js/components/Wizard/hooks/package.json +1 -1
- package/dist/js/components/Wizard/package.json +1 -1
- package/dist/js/components/package.json +1 -1
- package/dist/js/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/js/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/js/deprecated/components/Dropdown/package.json +1 -1
- package/dist/js/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/js/deprecated/components/PageHeader/package.json +1 -1
- package/dist/js/deprecated/components/Select/package.json +1 -1
- package/dist/js/deprecated/components/Wizard/package.json +1 -1
- package/dist/js/deprecated/components/package.json +1 -1
- package/dist/js/deprecated/package.json +1 -1
- package/dist/js/helpers/Popper/thirdparty/popper-core/package.json +1 -1
- package/dist/js/helpers/package.json +1 -1
- package/dist/js/layouts/Bullseye/package.json +1 -1
- package/dist/js/layouts/Flex/package.json +1 -1
- package/dist/js/layouts/Gallery/package.json +1 -1
- package/dist/js/layouts/Grid/package.json +1 -1
- package/dist/js/layouts/Level/package.json +1 -1
- package/dist/js/layouts/Split/package.json +1 -1
- package/dist/js/layouts/Stack/package.json +1 -1
- package/dist/js/layouts/package.json +1 -1
- package/dist/js/next/components/package.json +1 -1
- package/dist/js/next/package.json +1 -1
- package/dist/js/package.json +1 -1
- package/dist/umd/react-core.min.js +1 -1
- package/package.json +2 -2
- package/src/components/ActionList/examples/ActionList.md +1 -6
- package/src/components/ActionList/examples/ActionListSingleGroup.tsx +50 -38
- package/src/components/Breadcrumb/examples/Breadcrumb.md +1 -5
- package/src/components/Breadcrumb/examples/BreadcrumbDropdown.tsx +34 -21
- package/src/components/Card/examples/Card.md +9 -14
- package/src/components/Card/examples/CardExpandable.tsx +44 -31
- package/src/components/Card/examples/CardExpandableWithIcon.tsx +50 -29
- package/src/components/Card/examples/CardHeaderInCardHead.tsx +50 -29
- package/src/components/Card/examples/CardLegacySelectable.tsx +52 -33
- package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +48 -29
- package/src/components/Card/examples/CardSelectable.tsx +52 -36
- package/src/components/Card/examples/CardWithImageAndActions.tsx +51 -29
- package/src/components/DataList/__tests__/DataList.test.tsx +10 -11
- package/src/components/DataList/__tests__/__snapshots__/DataList.test.tsx.snap +86 -19
- package/src/components/DataList/examples/DataList.md +1 -6
- package/src/components/DataList/examples/DataListActions.tsx +39 -23
- package/src/components/DataList/examples/DataListCheckboxes.tsx +106 -61
- package/src/components/DataList/examples/DataListExpandable.tsx +103 -55
- package/src/components/DataList/examples/DataListMixedExpandable.tsx +105 -57
- package/src/components/DataList/examples/DataListSelectableRows.tsx +71 -39
- package/src/components/DataList/examples/DataListWidthModifiers.tsx +81 -39
- package/src/components/Dropdown/Dropdown.tsx +10 -13
- package/src/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +29 -32
- package/src/components/Dropdown/examples/Dropdown.md +0 -1
- package/src/components/Dropdown/examples/DropdownBasic.tsx +22 -16
- package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +13 -18
- package/src/components/Dropdown/examples/DropdownWithGroups.tsx +30 -16
- package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +22 -16
- package/src/components/DualListSelector/examples/DualListSelector.md +1 -5
- package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +60 -36
- package/src/components/Hint/examples/Hint.md +1 -6
- package/src/components/Hint/examples/HintBasicWithTitle.tsx +58 -32
- package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +57 -32
- package/src/components/InputGroup/examples/InputGroup.md +0 -5
- package/src/components/InputGroup/examples/InputGroupWithDropdown.tsx +32 -24
- package/src/components/Menu/examples/Menu.md +1 -5
- package/src/components/Menu/examples/MenuWithDrilldownBreadcrumbs.tsx +120 -89
- package/src/components/MenuToggle/MenuToggle.tsx +4 -3
- package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +10 -18
- package/src/components/MenuToggle/examples/MenuToggle.md +35 -5
- package/src/components/Modal/examples/Modal.md +0 -5
- package/src/components/Modal/examples/ModalWithDropdown.tsx +40 -34
- package/src/components/Nav/Nav.tsx +20 -23
- package/src/components/Nav/NavItem.tsx +1 -1
- package/src/components/Nav/examples/Nav.md +24 -0
- package/src/components/Nav/examples/NavDefault.tsx +1 -1
- package/src/components/Nav/examples/NavExpandable.tsx +8 -2
- package/src/components/Nav/examples/NavExpandableThirdLevel.tsx +8 -2
- package/src/components/Nav/examples/NavFlyout.tsx +1 -1
- package/src/components/Nav/examples/NavGrouped.tsx +1 -1
- package/src/components/Nav/examples/NavHorizontalSubNav.tsx +2 -2
- package/src/components/Nav/examples/NavLegacyTertiary.tsx +2 -2
- package/src/components/Nav/examples/NavMixed.tsx +4 -1
- package/src/components/NotificationDrawer/examples/NotificationDrawer.md +1 -8
- package/src/components/NotificationDrawer/examples/NotificationDrawerBasic.tsx +145 -72
- package/src/components/NotificationDrawer/examples/NotificationDrawerGroups.tsx +187 -131
- package/src/components/Toolbar/examples/Toolbar.md +0 -9
- package/src/components/Toolbar/examples/ToolbarStacked.tsx +75 -58
- package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +57 -88
- package/src/components/TreeView/examples/TreeView.md +42 -30
- package/src/demos/AlertGroup.md +1 -6
- package/src/demos/Card/Card.md +75 -80
- package/src/demos/CardDemos.md +40 -34
- package/src/demos/DataListDemo.md +130 -70
- package/src/demos/DatePicker/DatePicker.md +1 -89
- package/src/demos/DateTimePicker.md +90 -5
- package/src/demos/Masthead.md +1 -7
- package/src/demos/Nav.md +225 -167
- package/src/demos/NotificationDrawer/NotificationDrawer.md +487 -357
- package/src/demos/Page.md +1 -7
- package/src/demos/PrimaryDetail.md +193 -211
- package/src/demos/SearchInput/SearchInput.md +165 -124
- package/src/demos/Tabs.md +0 -1
- package/src/demos/Toolbar.md +169 -190
- package/src/demos/Wizard/WizardDemo.md +2 -2
- package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +61 -49
- package/src/demos/examples/DashboardHeader.js +96 -81
- package/src/demos/examples/DashboardWrapper.js +1 -1
- package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +29 -26
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +85 -71
- package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +91 -76
- package/src/demos/examples/Page/PageStickySectionGroup.tsx +91 -76
- package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +91 -76
- package/src/demos/examples/Tabs/TabsAndTable.tsx +12 -6
|
@@ -25,15 +25,14 @@ import {
|
|
|
25
25
|
AlertGroup,
|
|
26
26
|
AlertActionCloseButton,
|
|
27
27
|
ToolbarItem,
|
|
28
|
+
Dropdown,
|
|
29
|
+
DropdownList,
|
|
30
|
+
DropdownItem,
|
|
31
|
+
MenuToggle,
|
|
32
|
+
MenuToggleElement
|
|
28
33
|
} from '@patternfly/react-core';
|
|
29
|
-
import {
|
|
30
|
-
Dropdown as DropdownDeprecated,
|
|
31
|
-
DropdownItem as DropdownItemDeprecated,
|
|
32
|
-
KebabToggle,
|
|
33
|
-
DropdownPosition
|
|
34
|
-
} from '@patternfly/react-core/deprecated';
|
|
35
|
-
|
|
36
34
|
import SearchIcon from '@patternfly/react-icons/dist/js/icons/search-icon';
|
|
35
|
+
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
37
36
|
import DashboardWrapper from '../DashboardWrapper';
|
|
38
37
|
import DashboardHeader from '../DashboardHeader';
|
|
39
38
|
|
|
@@ -146,8 +145,8 @@ export const AlertGroupToastWithNotificationDrawer: React.FunctionComponent = ()
|
|
|
146
145
|
setDrawerExpanded(!isDrawerExpanded);
|
|
147
146
|
};
|
|
148
147
|
|
|
149
|
-
const onDropdownToggle = (id: React.Key
|
|
150
|
-
if (
|
|
148
|
+
const onDropdownToggle = (id: React.Key) => {
|
|
149
|
+
if (id && openDropdownKey !== id) {
|
|
151
150
|
setOpenDropdownKey(id);
|
|
152
151
|
return;
|
|
153
152
|
}
|
|
@@ -218,46 +217,53 @@ export const AlertGroupToastWithNotificationDrawer: React.FunctionComponent = ()
|
|
|
218
217
|
</ToolbarItem>
|
|
219
218
|
);
|
|
220
219
|
|
|
221
|
-
const notificationDrawerActions =
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
220
|
+
const notificationDrawerActions = (
|
|
221
|
+
<>
|
|
222
|
+
<DropdownItem key="markAllRead" onClick={markAllNotificationsRead}>
|
|
223
|
+
Mark all read
|
|
224
|
+
</DropdownItem>
|
|
225
|
+
<DropdownItem key="clearAll" onClick={removeAllNotifications}>
|
|
226
|
+
Clear all
|
|
227
|
+
</DropdownItem>
|
|
228
|
+
</>
|
|
229
|
+
);
|
|
230
230
|
const notificationDrawerDropdownItems = (key: React.Key) => [
|
|
231
|
-
<
|
|
231
|
+
<DropdownItem key={`markRead-${key}`} onClick={() => markNotificationRead(key)}>
|
|
232
232
|
Mark as read
|
|
233
|
-
</
|
|
234
|
-
<
|
|
233
|
+
</DropdownItem>,
|
|
234
|
+
<DropdownItem key={`clear-${key}`} onClick={() => removeNotification(key)}>
|
|
235
235
|
Clear
|
|
236
|
-
</
|
|
236
|
+
</DropdownItem>
|
|
237
237
|
];
|
|
238
238
|
|
|
239
239
|
const notificationDrawer = (
|
|
240
240
|
<NotificationDrawer>
|
|
241
241
|
<NotificationDrawerHeader count={getUnreadNotificationsNumber()} onClose={(_event) => setDrawerExpanded(false)}>
|
|
242
|
-
<
|
|
243
|
-
onSelect={onDropdownSelect}
|
|
244
|
-
toggle={
|
|
245
|
-
<KebabToggle
|
|
246
|
-
onToggle={(_event: any, isActive: boolean) => onDropdownToggle('dropdown-toggle-id-0', isActive)}
|
|
247
|
-
id="dropdown-toggle-id-0"
|
|
248
|
-
/>
|
|
249
|
-
}
|
|
250
|
-
isOpen={openDropdownKey === 'dropdown-toggle-id-0'}
|
|
251
|
-
isPlain
|
|
252
|
-
dropdownItems={notificationDrawerActions}
|
|
242
|
+
<Dropdown
|
|
253
243
|
id="notification-drawer-0"
|
|
254
|
-
|
|
255
|
-
|
|
244
|
+
isOpen={openDropdownKey === 'dropdown-toggle-id-0'}
|
|
245
|
+
onSelect={onDropdownSelect}
|
|
246
|
+
popperProps={{ position: 'right' }}
|
|
247
|
+
onOpenChange={(isOpen: boolean) => !isOpen && setOpenDropdownKey(null)}
|
|
248
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
249
|
+
<MenuToggle
|
|
250
|
+
ref={toggleRef}
|
|
251
|
+
isExpanded={openDropdownKey === 'dropdown-toggle-id-0'}
|
|
252
|
+
variant="plain"
|
|
253
|
+
onClick={() => onDropdownToggle('dropdown-toggle-id-0')}
|
|
254
|
+
aria-label="Notification drawer actions"
|
|
255
|
+
>
|
|
256
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
257
|
+
</MenuToggle>
|
|
258
|
+
)}
|
|
259
|
+
>
|
|
260
|
+
<DropdownList>{notificationDrawerActions}</DropdownList>
|
|
261
|
+
</Dropdown>
|
|
256
262
|
</NotificationDrawerHeader>
|
|
257
263
|
<NotificationDrawerBody>
|
|
258
264
|
{notifications.length !== 0 && (
|
|
259
265
|
<NotificationDrawerList>
|
|
260
|
-
{notifications.map(({ key, variant, title, srTitle, description, timestamp }) => (
|
|
266
|
+
{notifications.map(({ key, variant, title, srTitle, description, timestamp }, index) => (
|
|
261
267
|
<NotificationDrawerListItem
|
|
262
268
|
key={key}
|
|
263
269
|
variant={variant}
|
|
@@ -265,20 +271,26 @@ export const AlertGroupToastWithNotificationDrawer: React.FunctionComponent = ()
|
|
|
265
271
|
onClick={() => markNotificationRead(key)}
|
|
266
272
|
>
|
|
267
273
|
<NotificationDrawerListItemHeader variant={variant} title={title} srTitle={srTitle}>
|
|
268
|
-
<
|
|
269
|
-
position={DropdownPosition.right}
|
|
270
|
-
onSelect={onDropdownSelect}
|
|
271
|
-
toggle={
|
|
272
|
-
<KebabToggle
|
|
273
|
-
onToggle={(_event: any, isActive: boolean) => onDropdownToggle(key, isActive)}
|
|
274
|
-
id={key.toString()}
|
|
275
|
-
/>
|
|
276
|
-
}
|
|
277
|
-
isOpen={openDropdownKey === key}
|
|
278
|
-
isPlain
|
|
279
|
-
dropdownItems={notificationDrawerDropdownItems(key)}
|
|
274
|
+
<Dropdown
|
|
280
275
|
id={key.toString()}
|
|
281
|
-
|
|
276
|
+
isOpen={openDropdownKey === key}
|
|
277
|
+
onSelect={onDropdownSelect}
|
|
278
|
+
popperProps={{ position: 'right' }}
|
|
279
|
+
onOpenChange={(isOpen: boolean) => !isOpen && setOpenDropdownKey(null)}
|
|
280
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
281
|
+
<MenuToggle
|
|
282
|
+
ref={toggleRef}
|
|
283
|
+
isExpanded={openDropdownKey === key}
|
|
284
|
+
variant="plain"
|
|
285
|
+
onClick={() => onDropdownToggle(key)}
|
|
286
|
+
aria-label={`Notification ${index + 1} actions`}
|
|
287
|
+
>
|
|
288
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
289
|
+
</MenuToggle>
|
|
290
|
+
)}
|
|
291
|
+
>
|
|
292
|
+
<DropdownList>{notificationDrawerDropdownItems(key)}</DropdownList>
|
|
293
|
+
</Dropdown>
|
|
282
294
|
</NotificationDrawerListItemHeader>
|
|
283
295
|
<NotificationDrawerListItemBody timestamp={timestamp}> {description} </NotificationDrawerListItemBody>
|
|
284
296
|
</NotificationDrawerListItem>
|
|
@@ -5,29 +5,28 @@ import {
|
|
|
5
5
|
Button,
|
|
6
6
|
ButtonVariant,
|
|
7
7
|
Divider,
|
|
8
|
+
Dropdown,
|
|
9
|
+
DropdownGroup,
|
|
10
|
+
DropdownItem,
|
|
11
|
+
DropdownList,
|
|
8
12
|
Masthead,
|
|
9
13
|
MastheadToggle,
|
|
10
14
|
MastheadMain,
|
|
11
15
|
MastheadBrand,
|
|
12
16
|
MastheadContent,
|
|
17
|
+
MenuToggle,
|
|
13
18
|
Toolbar,
|
|
14
19
|
ToolbarContent,
|
|
15
20
|
ToolbarGroup,
|
|
16
21
|
ToolbarItem,
|
|
17
|
-
PageToggleButton
|
|
22
|
+
PageToggleButton
|
|
18
23
|
} from '@patternfly/react-core';
|
|
19
|
-
import {
|
|
20
|
-
Dropdown as DropdownDeprecated,
|
|
21
|
-
DropdownGroup as DropdownGroupDeprecated,
|
|
22
|
-
DropdownToggle,
|
|
23
|
-
DropdownItem as DropdownItemDeprecated,
|
|
24
|
-
KebabToggle
|
|
25
|
-
} from '@patternfly/react-core/deprecated';
|
|
26
24
|
import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
|
|
27
25
|
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
|
|
28
26
|
import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
|
|
29
27
|
import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
|
|
30
28
|
import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
|
|
29
|
+
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
31
30
|
import imgAvatar from '@patternfly/react-core/src/components/Avatar/examples/avatarImg.svg';
|
|
32
31
|
import pfColorLogo from '@patternfly/react-core/src/demos/examples/pfColorLogo.svg';
|
|
33
32
|
|
|
@@ -41,39 +40,39 @@ export default class DashboardHeader extends React.Component {
|
|
|
41
40
|
activeItem: 0
|
|
42
41
|
};
|
|
43
42
|
|
|
44
|
-
this.onDropdownToggle = (
|
|
45
|
-
this.setState({
|
|
46
|
-
isDropdownOpen
|
|
47
|
-
});
|
|
43
|
+
this.onDropdownToggle = () => {
|
|
44
|
+
this.setState((prevState) => ({
|
|
45
|
+
isDropdownOpen: !prevState.isDropdownOpen
|
|
46
|
+
}));
|
|
48
47
|
};
|
|
49
48
|
|
|
50
49
|
this.onDropdownSelect = () => {
|
|
51
50
|
this.setState({
|
|
52
|
-
isDropdownOpen:
|
|
51
|
+
isDropdownOpen: false
|
|
53
52
|
});
|
|
54
53
|
};
|
|
55
54
|
|
|
56
|
-
this.onKebabDropdownToggle = (
|
|
57
|
-
this.setState({
|
|
58
|
-
isKebabDropdownOpen
|
|
59
|
-
});
|
|
55
|
+
this.onKebabDropdownToggle = () => {
|
|
56
|
+
this.setState((prevState) => ({
|
|
57
|
+
isKebabDropdownOpen: !prevState.isKebabDropdownOpen
|
|
58
|
+
}));
|
|
60
59
|
};
|
|
61
60
|
|
|
62
61
|
this.onKebabDropdownSelect = () => {
|
|
63
62
|
this.setState({
|
|
64
|
-
isKebabDropdownOpen:
|
|
63
|
+
isKebabDropdownOpen: false
|
|
65
64
|
});
|
|
66
65
|
};
|
|
67
66
|
|
|
68
|
-
this.onFullKebabToggle = (
|
|
69
|
-
this.setState({
|
|
70
|
-
isFullKebabDropdownOpen
|
|
71
|
-
});
|
|
67
|
+
this.onFullKebabToggle = () => {
|
|
68
|
+
this.setState((prevState) => ({
|
|
69
|
+
isFullKebabDropdownOpen: !prevState.isFullKebabDropdownOpen
|
|
70
|
+
}));
|
|
72
71
|
};
|
|
73
72
|
|
|
74
73
|
this.onFullKebabSelect = () => {
|
|
75
74
|
this.setState({
|
|
76
|
-
isFullKebabDropdownOpen:
|
|
75
|
+
isFullKebabDropdownOpen: false
|
|
77
76
|
});
|
|
78
77
|
};
|
|
79
78
|
}
|
|
@@ -82,41 +81,23 @@ export default class DashboardHeader extends React.Component {
|
|
|
82
81
|
const { isDropdownOpen, isKebabDropdownOpen, isFullKebabDropdownOpen } = this.state;
|
|
83
82
|
const { notificationBadge } = this.props;
|
|
84
83
|
|
|
85
|
-
const kebabDropdownItems =
|
|
86
|
-
|
|
87
|
-
<
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
<
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
<
|
|
98
|
-
|
|
99
|
-
</
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
<Divider key="divider" />,
|
|
103
|
-
<DropdownItemDeprecated key="settings">
|
|
104
|
-
<CogIcon /> Settings
|
|
105
|
-
</DropdownItemDeprecated>,
|
|
106
|
-
<DropdownItemDeprecated key="help">
|
|
107
|
-
<HelpIcon /> Help
|
|
108
|
-
</DropdownItemDeprecated>
|
|
109
|
-
];
|
|
110
|
-
|
|
111
|
-
const userDropdownItems = [
|
|
112
|
-
<DropdownGroupDeprecated key="group 2">
|
|
113
|
-
<DropdownItemDeprecated key="group 2 profile">My profile</DropdownItemDeprecated>
|
|
114
|
-
<DropdownItemDeprecated key="group 2 user" component="button">
|
|
115
|
-
User management
|
|
116
|
-
</DropdownItemDeprecated>
|
|
117
|
-
<DropdownItemDeprecated key="group 2 logout">Logout</DropdownItemDeprecated>
|
|
118
|
-
</DropdownGroupDeprecated>
|
|
119
|
-
];
|
|
84
|
+
const kebabDropdownItems = (
|
|
85
|
+
<>
|
|
86
|
+
<DropdownItem>
|
|
87
|
+
<CogIcon /> Settings
|
|
88
|
+
</DropdownItem>
|
|
89
|
+
<DropdownItem>
|
|
90
|
+
<HelpIcon /> Help
|
|
91
|
+
</DropdownItem>
|
|
92
|
+
</>
|
|
93
|
+
);
|
|
94
|
+
const userDropdownItems = (
|
|
95
|
+
<>
|
|
96
|
+
<DropdownItem key="group 2 profile">My profile</DropdownItem>
|
|
97
|
+
<DropdownItem key="group 2 user">User management</DropdownItem>
|
|
98
|
+
<DropdownItem key="group 2 logout">Logout</DropdownItem>
|
|
99
|
+
</>
|
|
100
|
+
);
|
|
120
101
|
|
|
121
102
|
const headerToolbar = (
|
|
122
103
|
<Toolbar id="toolbar" isFullHeight isStatic>
|
|
@@ -147,38 +128,72 @@ export default class DashboardHeader extends React.Component {
|
|
|
147
128
|
</ToolbarItem>
|
|
148
129
|
</ToolbarGroup>
|
|
149
130
|
<ToolbarItem visibility={{ default: 'hidden', md: 'visible', lg: 'hidden' }}>
|
|
150
|
-
<
|
|
151
|
-
isPlain
|
|
152
|
-
position="right"
|
|
153
|
-
onSelect={this.onKebabDropdownSelect}
|
|
154
|
-
toggle={<KebabToggle onToggle={this.onKebabDropdownToggle} />}
|
|
131
|
+
<Dropdown
|
|
155
132
|
isOpen={isKebabDropdownOpen}
|
|
156
|
-
|
|
157
|
-
|
|
133
|
+
onSelect={this.onKebabDropdownSelect}
|
|
134
|
+
onOpenChange={(isOpen) => this.setState({ isKebabDropdownOpen: isOpen })}
|
|
135
|
+
popperProps={{ position: 'right' }}
|
|
136
|
+
toggle={(toggleRef) => (
|
|
137
|
+
<MenuToggle
|
|
138
|
+
ref={toggleRef}
|
|
139
|
+
isExpanded={isKebabDropdownOpen}
|
|
140
|
+
onClick={this.onKebabDropdownToggle}
|
|
141
|
+
variant="plain"
|
|
142
|
+
aria-label="Settings and help"
|
|
143
|
+
>
|
|
144
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
145
|
+
</MenuToggle>
|
|
146
|
+
)}
|
|
147
|
+
>
|
|
148
|
+
<DropdownList>{kebabDropdownItems}</DropdownList>
|
|
149
|
+
</Dropdown>
|
|
158
150
|
</ToolbarItem>
|
|
159
151
|
<ToolbarItem visibility={{ md: 'hidden' }}>
|
|
160
|
-
<
|
|
161
|
-
isPlain
|
|
162
|
-
position="right"
|
|
163
|
-
onSelect={this.onFullKebabSelect}
|
|
164
|
-
toggle={<KebabToggle onToggle={this.onFullKebabToggle} />}
|
|
152
|
+
<Dropdown
|
|
165
153
|
isOpen={isFullKebabDropdownOpen}
|
|
166
|
-
|
|
167
|
-
|
|
154
|
+
onSelect={this.onFullKebabSelect}
|
|
155
|
+
onOpenChange={(isOpen) => this.setState({ isFullKebabDropdownOpen: isOpen })}
|
|
156
|
+
popperProps={{ position: 'right' }}
|
|
157
|
+
toggle={(toggleRef) => (
|
|
158
|
+
<MenuToggle
|
|
159
|
+
ref={toggleRef}
|
|
160
|
+
isExpanded={isFullKebabDropdownOpen}
|
|
161
|
+
onClick={this.onFullKebabToggle}
|
|
162
|
+
variant="plain"
|
|
163
|
+
aria-label="Toolbar menu"
|
|
164
|
+
>
|
|
165
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
166
|
+
</MenuToggle>
|
|
167
|
+
)}
|
|
168
|
+
>
|
|
169
|
+
<DropdownGroup key="group 2" aria-label="User actions">
|
|
170
|
+
<DropdownList>{userDropdownItems}</DropdownList>
|
|
171
|
+
</DropdownGroup>
|
|
172
|
+
<Divider />
|
|
173
|
+
<DropdownList>{kebabDropdownItems}</DropdownList>
|
|
174
|
+
</Dropdown>
|
|
168
175
|
</ToolbarItem>
|
|
169
176
|
</ToolbarGroup>
|
|
170
177
|
<ToolbarItem visibility={{ default: 'hidden', md: 'visible' }}>
|
|
171
|
-
<
|
|
172
|
-
isFullHeight
|
|
173
|
-
onSelect={this.onDropdownSelect}
|
|
178
|
+
<Dropdown
|
|
174
179
|
isOpen={isDropdownOpen}
|
|
175
|
-
|
|
176
|
-
|
|
180
|
+
onSelect={this.onDropdownSelect}
|
|
181
|
+
onOpenChange={(isOpen) => this.setState({ isDropdownOpen: isOpen })}
|
|
182
|
+
popperProps={{ position: 'right' }}
|
|
183
|
+
toggle={(toggleRef) => (
|
|
184
|
+
<MenuToggle
|
|
185
|
+
ref={toggleRef}
|
|
186
|
+
isExpanded={isDropdownOpen}
|
|
187
|
+
onClick={this.onDropdownToggle}
|
|
188
|
+
icon={<Avatar src={imgAvatar} alt="" />}
|
|
189
|
+
isFullHeight
|
|
190
|
+
>
|
|
177
191
|
Ned Username
|
|
178
|
-
</
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
|
|
192
|
+
</MenuToggle>
|
|
193
|
+
)}
|
|
194
|
+
>
|
|
195
|
+
<DropdownList>{userDropdownItems}</DropdownList>
|
|
196
|
+
</Dropdown>
|
|
182
197
|
</ToolbarItem>
|
|
183
198
|
</ToolbarContent>
|
|
184
199
|
</Toolbar>
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CalendarMonth, InputGroup, TextInput, Button, Popover } from '@patternfly/react-core';
|
|
3
2
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
CalendarMonth,
|
|
4
|
+
InputGroup,
|
|
5
|
+
TextInput,
|
|
6
|
+
Button,
|
|
7
|
+
Popover,
|
|
8
|
+
Dropdown,
|
|
9
|
+
DropdownItem,
|
|
10
|
+
DropdownList,
|
|
11
|
+
MenuToggle,
|
|
12
|
+
MenuToggleElement
|
|
13
|
+
} from '@patternfly/react-core';
|
|
8
14
|
import OutlinedCalendarAltIcon from '@patternfly/react-icons/dist/esm/icons/outlined-calendar-alt-icon';
|
|
9
15
|
import OutlinedClockIcon from '@patternfly/react-icons/dist/esm/icons/outlined-clock-icon';
|
|
10
16
|
|
|
@@ -23,7 +29,7 @@ export const DateTimePicker: React.FunctionComponent = () => {
|
|
|
23
29
|
setIsTimeOpen(false);
|
|
24
30
|
};
|
|
25
31
|
|
|
26
|
-
const onToggleTime = (
|
|
32
|
+
const onToggleTime = () => {
|
|
27
33
|
setIsTimeOpen(!isTimeOpen);
|
|
28
34
|
setIsCalendarOpen(false);
|
|
29
35
|
};
|
|
@@ -38,35 +44,32 @@ export const DateTimePicker: React.FunctionComponent = () => {
|
|
|
38
44
|
}
|
|
39
45
|
};
|
|
40
46
|
|
|
41
|
-
const onSelectTime = (ev: React.
|
|
42
|
-
setValueTime(ev
|
|
47
|
+
const onSelectTime = (ev: React.MouseEvent<Element, MouseEvent> | undefined) => {
|
|
48
|
+
setValueTime(ev?.currentTarget?.textContent as string);
|
|
43
49
|
setIsTimeOpen(!isTimeOpen);
|
|
44
50
|
};
|
|
45
51
|
|
|
46
|
-
const timeOptions = times.map((time) =>
|
|
47
|
-
<DropdownItemDeprecated key={time} component="button" value={`${time}:00`}>
|
|
48
|
-
{`${time}:00`}
|
|
49
|
-
</DropdownItemDeprecated>
|
|
50
|
-
));
|
|
52
|
+
const timeOptions = times.map((time) => <DropdownItem key={time}>{`${time}:00`}</DropdownItem>);
|
|
51
53
|
|
|
52
54
|
const calendar = <CalendarMonth date={new Date(valueDate)} onChange={onSelectCalendar} />;
|
|
53
55
|
|
|
54
56
|
const time = (
|
|
55
|
-
<
|
|
57
|
+
<Dropdown
|
|
56
58
|
onSelect={onSelectTime}
|
|
57
|
-
toggle={
|
|
58
|
-
<DropdownToggle
|
|
59
|
-
aria-label="Toggle the time picker menu"
|
|
60
|
-
toggleIndicator={null}
|
|
61
|
-
onToggle={onToggleTime}
|
|
62
|
-
style={{ padding: '6px 16px' }}
|
|
63
|
-
>
|
|
64
|
-
<OutlinedClockIcon />
|
|
65
|
-
</DropdownToggle>
|
|
66
|
-
}
|
|
67
59
|
isOpen={isTimeOpen}
|
|
68
|
-
|
|
69
|
-
|
|
60
|
+
onOpenChange={(isOpen: boolean) => setIsTimeOpen(isOpen)}
|
|
61
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
62
|
+
<MenuToggle
|
|
63
|
+
ref={toggleRef}
|
|
64
|
+
onClick={onToggleTime}
|
|
65
|
+
isExpanded={isTimeOpen}
|
|
66
|
+
aria-label="Time picker"
|
|
67
|
+
icon={<OutlinedClockIcon aria-hidden="true" />}
|
|
68
|
+
/>
|
|
69
|
+
)}
|
|
70
|
+
>
|
|
71
|
+
<DropdownList>{timeOptions}</DropdownList>
|
|
72
|
+
</Dropdown>
|
|
70
73
|
);
|
|
71
74
|
|
|
72
75
|
const calendarButton = (
|