Skip to content

Commit c8978c0

Browse files
authored
feat(AsideHeader): add onAllPagesClick callback (#329)
* feat(AsideHeader): add onAllPagesClick callback * fix(AsideHeader): update useMemo dependencies
1 parent c85b17b commit c8978c0

File tree

4 files changed

+6
-2
lines changed

4 files changed

+6
-2
lines changed

src/components/AsideHeader/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ export const Aside: FC = () => {
137137
| onClosePanel | Callback will be called when closing panel. You can add panels via `PanelItems` prop | `() => void;` | |
138138
| onMenuItemsChanged | Callback will be called when updating list of the menuItems in `AllPagesPanel` | `(items: Array<MenuItem>) => void` | |
139139
| onMenuMoreClick | Callback will be called when some items don't fit and "more" button is clicked | `() => void;` | |
140+
| onAllPagesClick | Callback will be called when "All pages" button is clicked | `() => void;` | |
140141
| openModalSubscriber | Function notifies `AsideHeader` about Modals visibility changes | `( (open: boolean) => void) => void` | |
141142
| panelItems | Items for `Drawer` component. Used for show additional information over main content | [`Array<DrawerItem>`](./../Drawer/README.md#draweritem-props) | `[]` |
142143
| renderContent | Function rendering the main content at the right of the `AsideHeader` | `(data: {size: number}) => React.ReactNode` | |

src/components/AsideHeader/__stories__/AsideHeaderShowcase.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ export const AsideHeaderShowcase: React.FC<AsideHeaderShowcaseProps> = ({
296296
setCompact(v);
297297
}}
298298
onMenuMoreClick={() => console.log('onMenuMoreClick')}
299+
onAllPagesClick={() => console.log('onAllPagesClick')}
299300
/>
300301
</div>
301302
);

src/components/AsideHeader/types.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export interface AsideHeaderGeneralProps extends QAProps {
4545
onClosePanel?: () => void;
4646
onChangeCompact?: (compact: boolean) => void;
4747
onMenuMoreClick?: () => void;
48+
onAllPagesClick?: () => void;
4849
openModalSubscriber?: (subscriber: OpenModalSubscriber) => void;
4950
}
5051

src/components/AsideHeader/useAsideHeaderInnerContextValue.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const EMPTY_MENU_ITEMS: MenuItem[] = [];
1111
export const useAsideHeaderInnerContextValue = (
1212
props: AsideHeaderProps & {size: number},
1313
): AsideHeaderInnerContextType => {
14-
const {size, onClosePanel, menuItems, panelItems, onMenuItemsChanged} = props;
14+
const {size, onClosePanel, menuItems, panelItems, onMenuItemsChanged, onAllPagesClick} = props;
1515
const [innerVisiblePanel, setInnerVisiblePanel] = useState<InnerPanels | undefined>();
1616
const ALL_PAGES_MENU_ITEM = React.useMemo(() => {
1717
return getAllPagesMenuItem();
@@ -59,10 +59,11 @@ export const useAsideHeaderInnerContextValue = (
5959
{
6060
...ALL_PAGES_MENU_ITEM,
6161
current: innerVisiblePanel === InnerPanels.AllPages,
62+
onItemClick: onAllPagesClick,
6263
},
6364
]
6465
: menuItems || EMPTY_MENU_ITEMS,
65-
[allPagesIsAvailable, menuItems, innerVisiblePanel, ALL_PAGES_MENU_ITEM],
66+
[allPagesIsAvailable, menuItems, innerVisiblePanel, ALL_PAGES_MENU_ITEM, onAllPagesClick],
6667
);
6768

6869
const innerPanelItems = useMemo(() => {

0 commit comments

Comments
 (0)