* Chore(front): Create Storybook tests for the DropdownMenu component Co-authored-by: Benjamin Mayanja V <vibenjamin6@gmail.com> Co-authored-by: FellipeMTX <fellipefacdir@gmail.com> * Fix the tests Co-authored-by: Benjamin Mayanja V <vibenjamin6@gmail.com> Co-authored-by: FellipeMTX <fellipefacdir@gmail.com> * Simplify Dropdown * Remove console.log --------- Co-authored-by: Benjamin Mayanja V <vibenjamin6@gmail.com> Co-authored-by: FellipeMTX <fellipefacdir@gmail.com> Co-authored-by: Charles Bochet <charles@twenty.com>
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { FieldMetadata } from '@/ui/data/field/types/FieldMetadata';
|
|
import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
|
|
import { DropdownScope } from '@/ui/layout/dropdown/scopes/DropdownScope';
|
|
|
|
import { ColumnDefinition } from '../types/ColumnDefinition';
|
|
|
|
import { ColumnHead } from './ColumnHead';
|
|
import { DataTableColumnDropdownMenu } from './DataTableColumnDropdownMenu';
|
|
|
|
type ColumnHeadWithDropdownProps = {
|
|
column: ColumnDefinition<FieldMetadata>;
|
|
isFirstColumn: boolean;
|
|
isLastColumn: boolean;
|
|
primaryColumnKey: string;
|
|
};
|
|
|
|
export const ColumnHeadWithDropdown = ({
|
|
column,
|
|
isFirstColumn,
|
|
isLastColumn,
|
|
primaryColumnKey,
|
|
}: ColumnHeadWithDropdownProps) => {
|
|
return (
|
|
<DropdownScope dropdownScopeId={column.key + '-header'}>
|
|
<Dropdown
|
|
clickableComponent={<ColumnHead column={column} />}
|
|
dropdownComponents={
|
|
<DataTableColumnDropdownMenu
|
|
column={column}
|
|
isFirstColumn={isFirstColumn}
|
|
isLastColumn={isLastColumn}
|
|
primaryColumnKey={primaryColumnKey}
|
|
/>
|
|
}
|
|
dropdownPlacement="bottom-start"
|
|
dropdownHotkeyScope={{ scope: column.key + '-header' }}
|
|
/>
|
|
</DropdownScope>
|
|
);
|
|
};
|