Skip to content

Commit 9854ce5

Browse files
authored
Merge pull request #5059 from haiwen/select-editor
[select-editor] improved it
2 parents dac9705 + 2d15945 commit 9854ce5

File tree

2 files changed

+33
-6
lines changed

2 files changed

+33
-6
lines changed

frontend/src/components/select-editor/select-editor.js

+28-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class SelectEditor extends React.Component {
5858
value: gettext('Add custom permission'),
5959
isDisabled: true,
6060
label: (
61-
<div className="btn-add-custom-permission" onClick={this.props.onAddCustomPermissionToggle}>
61+
<div className="permission-editor-btn-add-custom-permission" onClick={this.props.onAddCustomPermissionToggle}>
6262
<i className="fa fa-plus"></i>
6363
<span>{gettext('Add custom permission')}</span>
6464
</div>
@@ -108,6 +108,28 @@ class SelectEditor extends React.Component {
108108
render() {
109109
let { currentOption, isTextMode } = this.props;
110110

111+
const MenuSelectStyle = {
112+
option: (provided, state) => {
113+
const { isDisabled, isSelected, isFocused } = state;
114+
return ({
115+
...provided,
116+
cursor: isDisabled ? 'default' : 'pointer',
117+
//backgroundColor: isSelected ? '#5A98F8' : (isFocused ? '#f5f5f5' : '#fff'),
118+
'.header-icon .dtable-font': {
119+
color: isSelected ? '#fff' : '#aaa',
120+
},
121+
});
122+
},
123+
control: (provided) => ({
124+
...provided,
125+
fontSize: '14px',
126+
cursor: 'pointer',
127+
lineHeight: '1.5',
128+
}),
129+
menuPortal: base => ({ ...base, zIndex: 9999 }),
130+
indicatorSeparator: () => {},
131+
};
132+
111133
// scence1: isTextMode (text)editor-icon --> select
112134
// scence2: !isTextMode select
113135
return (
@@ -121,6 +143,11 @@ class SelectEditor extends React.Component {
121143
value={currentOption}
122144
onChange={this.onOptionChanged}
123145
captureMenuScroll={false}
146+
menuPlacement="auto"
147+
menuPosition={'fixed'}
148+
menuPortalTarget={document.querySelector('#wrapper')}
149+
styles={MenuSelectStyle}
150+
menuShouldScrollIntoView
124151
/>
125152
}
126153
{(isTextMode && !this.state.isEditing) &&

frontend/src/css/select-editor.css

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.permission-editor .permission-editor-explanation {
1+
.permission-editor-explanation {
22
user-select: none;
33
padding-left: 10px;
44
color: #9c9c9c;
@@ -32,25 +32,25 @@
3232
padding: 0 0.5rem;
3333
}
3434

35-
.permission-editor .permission-editor__menu .permission-editor__option--is-disabled {
35+
.permission-editor__menu .permission-editor__option--is-disabled {
3636
color: #9c9c9c;
3737
border-top: 1px solid #dedede;
3838
}
3939

40-
.permission-editor .permission-editor__menu .permission-editor__option--is-disabled:hover {
40+
.permission-editor__menu .permission-editor__option--is-disabled:hover {
4141
background-color: #f0f0f0 !important;
4242
color: #9c9c9c !important;
4343
}
4444

45-
.permission-editor .btn-add-custom-permission {
45+
.permission-editor-btn-add-custom-permission {
4646
display: flex;
4747
align-items: center;
4848
padding: .5rem 0;
4949
font-size: 12px;
5050
line-height: 13px;
5151
}
5252

53-
.permission-editor .btn-add-custom-permission .fa {
53+
.permission-editor-btn-add-custom-permission .fa {
5454
font-size: 12px;
5555
line-height: 13px;
5656
margin-right: .25rem;

0 commit comments

Comments
 (0)