1- import { EllipsisOutlined } from "@ant-design/icons" ;
2- import { default as Dropdown } from "antd/es/dropdown" ;
31import { default as Menu } from "antd/es/menu" ;
42import { ColumnTypeCompBuilder } from "comps/comps/tableComp/column/columnTypeCompBuilder" ;
53import { ActionSelectorControlInContext } from "comps/controls/actionSelector/actionSelectorControl" ;
@@ -12,18 +10,6 @@ import styled from "styled-components";
1210import { ColumnLink } from "comps/comps/tableComp/column/columnTypeComps/columnLinkComp" ;
1311import { LightActiveTextColor , PrimaryColor } from "constants/style" ;
1412
15- const LinksWrapper = styled . div `
16- white-space: nowrap;
17-
18- > a {
19- margin-right: 8px;
20- }
21-
22- > a:last-child {
23- margin-right: 0;
24- }
25- ` ;
26-
2713const MenuLinkWrapper = styled . div `
2814 > a {
2915 color: ${ PrimaryColor } !important;
@@ -34,6 +20,22 @@ const MenuLinkWrapper = styled.div`
3420 }
3521` ;
3622
23+ const MenuWrapper = styled . div `
24+ ul {
25+ background: transparent !important;
26+ border-bottom: 0;
27+
28+ li {
29+ padding: 0 10px 0 0 !important;
30+ line-height: normal !important;
31+
32+ &::after {
33+ content: none !important;
34+ }
35+ }
36+ }
37+ ` ;
38+
3739const OptionItem = new MultiCompBuilder (
3840 {
3941 label : StringControl ,
@@ -69,48 +71,28 @@ export const ColumnLinksComp = (function () {
6971 return new ColumnTypeCompBuilder (
7072 childrenMap ,
7173 ( props ) => {
72- const menu = props . options . length > 3 && (
73- < Menu >
74- { props . options
75- . filter ( ( o ) => ! o . hidden )
76- . slice ( 3 )
77- . map ( ( option , index ) => (
78- < Menu . Item key = { index } >
79- < MenuLinkWrapper >
80- < ColumnLink
81- disabled = { option . disabled }
82- label = { option . label }
83- onClick = { option . onClick }
84- />
85- </ MenuLinkWrapper >
86- </ Menu . Item >
87- ) ) }
88- </ Menu >
89- ) ;
74+ const menuItems = props . options
75+ . filter ( ( o ) => ! o . hidden )
76+ . map ( ( option , index ) => (
77+ {
78+ key : index ,
79+ label : (
80+ < MenuLinkWrapper >
81+ < ColumnLink
82+ disabled = { option . disabled }
83+ label = { option . label }
84+ onClick = { option . onClick }
85+ />
86+ </ MenuLinkWrapper >
87+ )
88+ }
89+ ) ) ;
9090
9191 return (
92- < LinksWrapper >
93- { props . options
94- . filter ( ( o ) => ! o . hidden )
95- . slice ( 0 , 3 )
96- . map ( ( option , i ) => (
97- < ColumnLink
98- key = { i }
99- disabled = { option . disabled }
100- label = { option . label }
101- onClick = { option . onClick }
102- />
103- ) ) }
104- { menu && (
105- < Dropdown
106- trigger = { [ "hover" ] }
107- dropdownRender = { ( ) => menu }
108- >
109- < EllipsisOutlined onClick = { ( e ) => e . preventDefault ( ) } />
110- </ Dropdown >
111- ) }
112- </ LinksWrapper >
113- ) ;
92+ < MenuWrapper >
93+ < Menu mode = "horizontal" items = { menuItems } />
94+ </ MenuWrapper >
95+ )
11496 } ,
11597 ( ) => ""
11698 )
0 commit comments