1
- import { EllipsisOutlined } from "@ant-design/icons" ;
2
- import { default as Dropdown } from "antd/es/dropdown" ;
3
1
import { default as Menu } from "antd/es/menu" ;
4
2
import { ColumnTypeCompBuilder } from "comps/comps/tableComp/column/columnTypeCompBuilder" ;
5
3
import { ActionSelectorControlInContext } from "comps/controls/actionSelector/actionSelectorControl" ;
@@ -12,18 +10,6 @@ import styled from "styled-components";
12
10
import { ColumnLink } from "comps/comps/tableComp/column/columnTypeComps/columnLinkComp" ;
13
11
import { LightActiveTextColor , PrimaryColor } from "constants/style" ;
14
12
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
-
27
13
const MenuLinkWrapper = styled . div `
28
14
> a {
29
15
color: ${ PrimaryColor } !important;
@@ -34,6 +20,22 @@ const MenuLinkWrapper = styled.div`
34
20
}
35
21
` ;
36
22
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
+
37
39
const OptionItem = new MultiCompBuilder (
38
40
{
39
41
label : StringControl ,
@@ -69,48 +71,28 @@ export const ColumnLinksComp = (function () {
69
71
return new ColumnTypeCompBuilder (
70
72
childrenMap ,
71
73
( 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
+ ) ) ;
90
90
91
91
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
+ )
114
96
} ,
115
97
( ) => ""
116
98
)
0 commit comments