@electerm/electerm-react 1.37.121 → 1.37.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/components/batch-op/batch-op.jsx +7 -1
- package/client/components/common/input-auto-focus.jsx +2 -1
- package/client/components/common/logo-elem.jsx +4 -3
- package/client/components/common/logo.styl +9 -0
- package/client/components/common/native-input.jsx +30 -0
- package/client/components/common/native-input.styl +7 -0
- package/client/components/footer/footer-entry.jsx +1 -1
- package/client/components/footer/footer.styl +11 -2
- package/client/components/main/wrapper.styl +0 -2
- package/client/components/quick-commands/qm.styl +3 -0
- package/client/components/quick-commands/quick-commands-box.jsx +1 -1
- package/client/components/quick-commands/quick-commands-select.jsx +2 -1
- package/client/components/session/session.jsx +7 -1
- package/client/components/setting-panel/setting-common.jsx +5 -5
- package/client/components/setting-panel/setting-wrap.styl +28 -1
- package/client/components/setting-panel/tree-list.jsx +2 -0
- package/client/components/sftp/file-item.jsx +2 -3
- package/client/css/basic.styl +1 -1
- package/client/css/mobile.styl +8 -0
- package/client/entry/basic.js +1 -0
- package/package.json +1 -1
|
@@ -540,6 +540,11 @@ export default class BatchOp extends Component {
|
|
|
540
540
|
|
|
541
541
|
renderTab = (tab) => {
|
|
542
542
|
const data = this.state[tab]
|
|
543
|
+
const keeps = [
|
|
544
|
+
'index',
|
|
545
|
+
'host',
|
|
546
|
+
'state'
|
|
547
|
+
]
|
|
543
548
|
const columns = [
|
|
544
549
|
'index',
|
|
545
550
|
'host',
|
|
@@ -556,7 +561,8 @@ export default class BatchOp extends Component {
|
|
|
556
561
|
title: this.translate(k),
|
|
557
562
|
dataIndex: k,
|
|
558
563
|
key: k,
|
|
559
|
-
render: (k) => k || ''
|
|
564
|
+
render: (k) => k || '',
|
|
565
|
+
responsive: keeps.includes(k) ? undefined : ['md', 'lg', 'xl', 'xxl']
|
|
560
566
|
}
|
|
561
567
|
})
|
|
562
568
|
if (tab === 'tasks') {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import { Input } from 'antd'
|
|
6
|
+
import InputNative from './native-input'
|
|
6
7
|
import React from 'react'
|
|
7
8
|
import { findLastIndex } from 'lodash-es'
|
|
8
9
|
import uid from '../../common/uid'
|
|
@@ -57,7 +58,7 @@ export default class InputAutoFocus extends React.PureComponent {
|
|
|
57
58
|
const { type, ...rest } = this.props
|
|
58
59
|
const Dom = type === 'password'
|
|
59
60
|
? Input.Password
|
|
60
|
-
: Input
|
|
61
|
+
: type === 'native' ? InputNative : Input
|
|
61
62
|
return (
|
|
62
63
|
<Dom
|
|
63
64
|
{...rest}
|
|
@@ -5,16 +5,17 @@ import {
|
|
|
5
5
|
packInfo
|
|
6
6
|
} from '../../common/constants'
|
|
7
7
|
import { Tag } from 'antd'
|
|
8
|
+
import './logo.styl'
|
|
8
9
|
|
|
9
10
|
export default function LogoElem () {
|
|
10
11
|
return (
|
|
11
12
|
<h1 className='mg3y font50'>
|
|
12
13
|
<span className='iblock pd3 morph-shape mg1l mg1r'>
|
|
13
|
-
<img src={logoPath2}
|
|
14
|
+
<img src={logoPath2} className='iblock mwm-100 mg1l mg1r logo-filter logo-img' />
|
|
14
15
|
</span>
|
|
15
|
-
<img src={logoPath3}
|
|
16
|
+
<img src={logoPath3} className='hide logo-img' />
|
|
16
17
|
<sup>
|
|
17
|
-
<img src={logoPath1}
|
|
18
|
+
<img src={logoPath1} className='iblock mwm-100 mg1r logo-img-small' />
|
|
18
19
|
</sup>
|
|
19
20
|
<Tag color='#08c'>{packInfo.version}</Tag>
|
|
20
21
|
</h1>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* input with auto focus
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import React from 'react'
|
|
6
|
+
import './native-input.styl'
|
|
7
|
+
|
|
8
|
+
export default function InputNative (props) {
|
|
9
|
+
const { value, type, onChange, onPressEnter, addonAfter = null, ...rest } = props
|
|
10
|
+
return (
|
|
11
|
+
<span
|
|
12
|
+
className='ant-input-group-wrapper'
|
|
13
|
+
data-id={props['data-id']}
|
|
14
|
+
>
|
|
15
|
+
<span className='ant-input-wrapper ant-input-group'>
|
|
16
|
+
<input
|
|
17
|
+
class='ant-input native-input'
|
|
18
|
+
type='text'
|
|
19
|
+
value={value}
|
|
20
|
+
onChange={onChange}
|
|
21
|
+
onPressEnter={onPressEnter}
|
|
22
|
+
{...rest}
|
|
23
|
+
/>
|
|
24
|
+
</span>
|
|
25
|
+
<span class='ant-input-group-addon'>
|
|
26
|
+
{addonAfter}
|
|
27
|
+
</span>
|
|
28
|
+
</span>
|
|
29
|
+
)
|
|
30
|
+
}
|
|
@@ -80,7 +80,7 @@ export default class SystemMenu extends Component {
|
|
|
80
80
|
<div className='terminal-footer-unit terminal-footer-info'>
|
|
81
81
|
<div className='fleft relative'>
|
|
82
82
|
<Select
|
|
83
|
-
style={{ minWidth:
|
|
83
|
+
style={{ minWidth: 30 }}
|
|
84
84
|
placeholder={f('encode')}
|
|
85
85
|
defaultValue={this.props.currentTab?.encode}
|
|
86
86
|
onSelect={this.handleSwitchEncoding}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
line-height 24px
|
|
22
22
|
.terminal-footer-unit
|
|
23
23
|
margin-left 10px
|
|
24
|
-
line-height
|
|
24
|
+
line-height 39px
|
|
25
25
|
textarea.ant-input
|
|
26
26
|
min-height 26px
|
|
27
27
|
height 26px
|
|
@@ -44,4 +44,13 @@
|
|
|
44
44
|
.bi-compact
|
|
45
45
|
display none
|
|
46
46
|
.batch-input-holder
|
|
47
|
-
width 100px
|
|
47
|
+
width 100px
|
|
48
|
+
@media (max-width: 500px)
|
|
49
|
+
.batch-input-outer
|
|
50
|
+
&.bi-show
|
|
51
|
+
position fixed
|
|
52
|
+
left 100px
|
|
53
|
+
right 0
|
|
54
|
+
bottom 0
|
|
55
|
+
z-index 100
|
|
56
|
+
background main
|
|
@@ -193,7 +193,7 @@ export default class QuickCommandsFooterBox extends Component {
|
|
|
193
193
|
value={this.state.keyword}
|
|
194
194
|
onChange={this.handleChange}
|
|
195
195
|
placeholder=''
|
|
196
|
-
className='iblock'
|
|
196
|
+
className='iblock qm-search-input'
|
|
197
197
|
/>
|
|
198
198
|
</span>
|
|
199
199
|
<span className='fleft mg1l'>
|
|
@@ -30,7 +30,8 @@ export default class QuickCommandsFooter extends PureComponent {
|
|
|
30
30
|
onMouseEnter={this.handleOpen}
|
|
31
31
|
onMouseLeave={this.handleMouseLeave}
|
|
32
32
|
>
|
|
33
|
-
{e('quickCommands')}
|
|
33
|
+
<span className='w500'>{e('quickCommands')}</span>
|
|
34
|
+
<span className='l500'>Q</span>
|
|
34
35
|
</Button>
|
|
35
36
|
</div>
|
|
36
37
|
)
|
|
@@ -506,6 +506,11 @@ export default class SessionWrapper extends Component {
|
|
|
506
506
|
}
|
|
507
507
|
)
|
|
508
508
|
}
|
|
509
|
+
const simpleMapper = {
|
|
510
|
+
[paneMap.terminal]: 'T',
|
|
511
|
+
[paneMap.fileManager]: 'F',
|
|
512
|
+
[paneMap.ssh]: 'T'
|
|
513
|
+
}
|
|
509
514
|
return (
|
|
510
515
|
<div
|
|
511
516
|
className='terminal-control fix'
|
|
@@ -527,7 +532,8 @@ export default class SessionWrapper extends Component {
|
|
|
527
532
|
onClick={() => this.onChangePane(types[i])}
|
|
528
533
|
>
|
|
529
534
|
<span className='type-tab-txt'>
|
|
530
|
-
{e(type)}
|
|
535
|
+
<span className='w500'>{e(type)}</span>
|
|
536
|
+
<span className='l500'>{simpleMapper[type]}</span>
|
|
531
537
|
<span className='type-tab-line' />
|
|
532
538
|
</span>
|
|
533
539
|
</span>
|
|
@@ -251,7 +251,7 @@ export default class SettingCommon extends Component {
|
|
|
251
251
|
)
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
-
renderNumber = (name, options, title = '', width =
|
|
254
|
+
renderNumber = (name, options, title = '', width = '100%') => {
|
|
255
255
|
let value = this.props.config[name]
|
|
256
256
|
if (options.valueParser) {
|
|
257
257
|
value = options.valueParser(value)
|
|
@@ -286,7 +286,7 @@ export default class SettingCommon extends Component {
|
|
|
286
286
|
return vv
|
|
287
287
|
}
|
|
288
288
|
opts.style = {
|
|
289
|
-
width
|
|
289
|
+
width
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
292
|
return (
|
|
@@ -554,7 +554,7 @@ export default class SettingCommon extends Component {
|
|
|
554
554
|
step: 200,
|
|
555
555
|
min: 100,
|
|
556
556
|
cls: 'timeout-desc'
|
|
557
|
-
}, e('timeoutDesc')
|
|
557
|
+
}, e('timeoutDesc'))
|
|
558
558
|
}
|
|
559
559
|
{
|
|
560
560
|
this.renderNumber('keepaliveInterval', {
|
|
@@ -563,7 +563,7 @@ export default class SettingCommon extends Component {
|
|
|
563
563
|
max: 20000000,
|
|
564
564
|
cls: 'keepalive-interval-desc',
|
|
565
565
|
extraDesc: '(ms)'
|
|
566
|
-
}, e('keepaliveIntervalDesc')
|
|
566
|
+
}, e('keepaliveIntervalDesc'))
|
|
567
567
|
}
|
|
568
568
|
{
|
|
569
569
|
this.renderNumber('opacity', {
|
|
@@ -571,7 +571,7 @@ export default class SettingCommon extends Component {
|
|
|
571
571
|
min: 0,
|
|
572
572
|
max: 1,
|
|
573
573
|
cls: 'opacity'
|
|
574
|
-
}, e('opacity')
|
|
574
|
+
}, e('opacity'))
|
|
575
575
|
}
|
|
576
576
|
|
|
577
577
|
<div className='pd2b'>
|
|
@@ -47,4 +47,31 @@ body .ant-drawer .ant-drawer-content-wrapper
|
|
|
47
47
|
padding 55px 20px 0 50px
|
|
48
48
|
.setting-col
|
|
49
49
|
::-webkit-scrollbar
|
|
50
|
-
width 0
|
|
50
|
+
width 0
|
|
51
|
+
@media (max-width: 1100px)
|
|
52
|
+
.setting-col
|
|
53
|
+
position fixed
|
|
54
|
+
top 128px
|
|
55
|
+
bottom 0
|
|
56
|
+
left 43px
|
|
57
|
+
right 0
|
|
58
|
+
overflow-y scroll
|
|
59
|
+
.setting-row
|
|
60
|
+
position static
|
|
61
|
+
top auto
|
|
62
|
+
.setting-row-left
|
|
63
|
+
left auto
|
|
64
|
+
width auto
|
|
65
|
+
bottom auto
|
|
66
|
+
padding 138px 10px 10px 10px
|
|
67
|
+
.setting-row-right
|
|
68
|
+
left auto
|
|
69
|
+
right auto
|
|
70
|
+
bottom auto
|
|
71
|
+
top auto
|
|
72
|
+
padding 10px
|
|
73
|
+
.setting-tabs-bookmarks
|
|
74
|
+
.setting-row-left
|
|
75
|
+
width auto
|
|
76
|
+
.setting-row-right
|
|
77
|
+
left auto
|
|
@@ -590,6 +590,7 @@ export default class ItemListTree extends Component {
|
|
|
590
590
|
onChange={this.handleChangeEdit}
|
|
591
591
|
onPressEnter={this.handleSubmitEdit}
|
|
592
592
|
addonAfter={confirm}
|
|
593
|
+
type='native'
|
|
593
594
|
/>
|
|
594
595
|
)
|
|
595
596
|
}
|
|
@@ -902,6 +903,7 @@ export default class ItemListTree extends Component {
|
|
|
902
903
|
onPressEnter={this.handleSubmitSub}
|
|
903
904
|
onChange={this.handleChangeBookmarkGroupTitleSub}
|
|
904
905
|
addonAfter={confirm}
|
|
906
|
+
type='native'
|
|
905
907
|
/>
|
|
906
908
|
)}
|
|
907
909
|
/>
|
|
@@ -295,7 +295,6 @@ export default class FileSection extends React.Component {
|
|
|
295
295
|
} = toFile
|
|
296
296
|
|
|
297
297
|
let operation = ''
|
|
298
|
-
|
|
299
298
|
// same side and drop to file = drop to folder
|
|
300
299
|
if (!fromFileManager && fromType === toType && !isDirectoryTo) {
|
|
301
300
|
return
|
|
@@ -331,9 +330,9 @@ export default class FileSection extends React.Component {
|
|
|
331
330
|
filterFiles = async (files) => {
|
|
332
331
|
const res = []
|
|
333
332
|
for (const file of files) {
|
|
334
|
-
const {
|
|
333
|
+
const { name, path } = file
|
|
335
334
|
const info = await getLocalFileInfo(
|
|
336
|
-
resolve(path,
|
|
335
|
+
resolve(path, name)
|
|
337
336
|
)
|
|
338
337
|
if (info) {
|
|
339
338
|
res.push(info)
|
package/client/css/basic.styl
CHANGED
package/client/entry/basic.js
CHANGED