@electerm/electerm-react 3.15.32 → 3.15.35
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.
|
@@ -537,7 +537,7 @@ export default class SessionWrapper extends Component {
|
|
|
537
537
|
}
|
|
538
538
|
|
|
539
539
|
renderKeepaliveIcon = () => {
|
|
540
|
-
if (this.isSshDisabled()
|
|
540
|
+
if (this.isSshDisabled()) {
|
|
541
541
|
return null
|
|
542
542
|
}
|
|
543
543
|
const { keepaliveEnabled } = this.state
|
|
@@ -27,7 +27,6 @@ import {
|
|
|
27
27
|
paneMap,
|
|
28
28
|
isMac, maxEditFileSize, ctrlOrCmd
|
|
29
29
|
} from '../../common/constants'
|
|
30
|
-
import findParent from '../../common/find-parent'
|
|
31
30
|
import sorter from '../../common/index-sorter'
|
|
32
31
|
import { getFolderFromFilePath, getLocalFileInfo } from './file-read'
|
|
33
32
|
import { readClipboard, copy as copyToClipboard, hasFileInClipboardText } from '../../common/clipboard'
|
|
@@ -192,33 +191,6 @@ export default class FileSection extends React.Component {
|
|
|
192
191
|
this.props.addTransferList(res)
|
|
193
192
|
}
|
|
194
193
|
|
|
195
|
-
onDrag = () => {}
|
|
196
|
-
|
|
197
|
-
onDragEnter = e => {
|
|
198
|
-
let { target } = e
|
|
199
|
-
target = findParent(target, '.' + fileItemCls)
|
|
200
|
-
if (!target) {
|
|
201
|
-
return e.preventDefault()
|
|
202
|
-
}
|
|
203
|
-
this.dropTarget = target
|
|
204
|
-
target.classList.add(onDragOverCls)
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
onDragExit = () => {}
|
|
208
|
-
|
|
209
|
-
onDragLeave = e => {
|
|
210
|
-
let { target } = e
|
|
211
|
-
target = findParent(target, '.' + fileItemCls)
|
|
212
|
-
if (!target) {
|
|
213
|
-
return e.preventDefault()
|
|
214
|
-
}
|
|
215
|
-
target.classList.remove(onDragOverCls)
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
onDragOver = e => {
|
|
219
|
-
e.preventDefault()
|
|
220
|
-
}
|
|
221
|
-
|
|
222
194
|
onDragStart = e => {
|
|
223
195
|
this.props.modifier({
|
|
224
196
|
onDrag: true
|
|
@@ -248,6 +220,16 @@ export default class FileSection extends React.Component {
|
|
|
248
220
|
return getDropFileList(data)
|
|
249
221
|
}
|
|
250
222
|
|
|
223
|
+
onDragEnd = () => {
|
|
224
|
+
this.props.modifier({
|
|
225
|
+
onDrag: false
|
|
226
|
+
})
|
|
227
|
+
removeClass(this.domRef.current, onDragCls, onMultiDragCls)
|
|
228
|
+
document.querySelectorAll('.' + onDragOverCls).forEach((d) => {
|
|
229
|
+
removeClass(d, onDragOverCls)
|
|
230
|
+
})
|
|
231
|
+
}
|
|
232
|
+
|
|
251
233
|
onDrop = async e => {
|
|
252
234
|
e.preventDefault()
|
|
253
235
|
const fromFileManager = !!e?.dataTransfer?.files?.length
|
|
@@ -279,17 +261,6 @@ export default class FileSection extends React.Component {
|
|
|
279
261
|
this.onDropFile(fromFiles, toFile, fromFileManager)
|
|
280
262
|
}
|
|
281
263
|
|
|
282
|
-
onDragEnd = e => {
|
|
283
|
-
this.props.modifier({
|
|
284
|
-
onDrag: false
|
|
285
|
-
})
|
|
286
|
-
removeClass(this.domRef.current, onDragCls, onMultiDragCls)
|
|
287
|
-
document.querySelectorAll('.' + onDragOverCls).forEach((d) => {
|
|
288
|
-
removeClass(d, onDragOverCls)
|
|
289
|
-
})
|
|
290
|
-
e && e.dataTransfer && e.dataTransfer.clearData()
|
|
291
|
-
}
|
|
292
|
-
|
|
293
264
|
onDropFile = async (fromFiles, toFile, fromFileManager) => {
|
|
294
265
|
const { type: fromType } = fromFiles[0]
|
|
295
266
|
const {
|
|
@@ -1297,15 +1268,7 @@ export default class FileSection extends React.Component {
|
|
|
1297
1268
|
const props = {
|
|
1298
1269
|
className,
|
|
1299
1270
|
draggable: draggable && !isParent,
|
|
1300
|
-
|
|
1301
|
-
'onDrag',
|
|
1302
|
-
'onDragEnter',
|
|
1303
|
-
'onDragExit',
|
|
1304
|
-
'onDragLeave',
|
|
1305
|
-
'onDragOver',
|
|
1306
|
-
'onDrop',
|
|
1307
|
-
'onDragEnd'
|
|
1308
|
-
]),
|
|
1271
|
+
onDrop: this.onDrop,
|
|
1309
1272
|
onDragStart: onDragStart || this.onDragStart,
|
|
1310
1273
|
'data-id': id,
|
|
1311
1274
|
id: this.id,
|
|
@@ -13,8 +13,14 @@ import {
|
|
|
13
13
|
} from '@ant-design/icons'
|
|
14
14
|
import IconHolder from '../sys-menu/icon-holder'
|
|
15
15
|
import { filesRef } from '../common/ref'
|
|
16
|
+
import findParent from '../../common/find-parent'
|
|
17
|
+
import { removeClass } from '../../common/class'
|
|
16
18
|
|
|
17
19
|
const e = window.translate
|
|
20
|
+
const fileItemCls = 'sftp-item'
|
|
21
|
+
const onDragCls = 'sftp-ondrag'
|
|
22
|
+
const onDragOverCls = 'sftp-dragover'
|
|
23
|
+
const onMultiDragCls = 'sftp-dragover-multi'
|
|
18
24
|
|
|
19
25
|
export default class FileListTable extends Component {
|
|
20
26
|
constructor (props) {
|
|
@@ -27,6 +33,67 @@ export default class FileListTable extends Component {
|
|
|
27
33
|
|
|
28
34
|
containerRef = createRef()
|
|
29
35
|
|
|
36
|
+
onDragOver = e => {
|
|
37
|
+
e.preventDefault()
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
onDragEnter = e => {
|
|
41
|
+
let { target } = e
|
|
42
|
+
target = findParent(target, '.' + fileItemCls)
|
|
43
|
+
if (!target) {
|
|
44
|
+
return e.preventDefault()
|
|
45
|
+
}
|
|
46
|
+
if (this.dropTarget && this.dropTarget !== target) {
|
|
47
|
+
this.dropTarget.classList.remove(onDragOverCls)
|
|
48
|
+
}
|
|
49
|
+
this.dropTarget = target
|
|
50
|
+
target.classList.add(onDragOverCls)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
onDragLeave = e => {
|
|
54
|
+
let { target } = e
|
|
55
|
+
target = findParent(target, '.' + fileItemCls)
|
|
56
|
+
if (!target) {
|
|
57
|
+
return e.preventDefault()
|
|
58
|
+
}
|
|
59
|
+
if (
|
|
60
|
+
this.containerRef.current &&
|
|
61
|
+
!this.containerRef.current.contains(e.relatedTarget)
|
|
62
|
+
) {
|
|
63
|
+
target.classList.remove(onDragOverCls)
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
onDrop = e => {
|
|
68
|
+
e.preventDefault()
|
|
69
|
+
let { target } = e
|
|
70
|
+
if (!target) {
|
|
71
|
+
return
|
|
72
|
+
}
|
|
73
|
+
target = findParent(target, '.' + fileItemCls)
|
|
74
|
+
if (!target) {
|
|
75
|
+
return
|
|
76
|
+
}
|
|
77
|
+
const id = target.getAttribute('data-id')
|
|
78
|
+
const ref = filesRef.get('file-' + id)
|
|
79
|
+
if (ref) {
|
|
80
|
+
ref.onDrop(e)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
onDragEnd = e => {
|
|
85
|
+
this.props.modifier({
|
|
86
|
+
onDrag: false
|
|
87
|
+
})
|
|
88
|
+
document.querySelectorAll('.' + onDragCls).forEach((d) => {
|
|
89
|
+
removeClass(d, onDragCls, onMultiDragCls)
|
|
90
|
+
})
|
|
91
|
+
document.querySelectorAll('.' + onDragOverCls).forEach((d) => {
|
|
92
|
+
removeClass(d, onDragOverCls)
|
|
93
|
+
})
|
|
94
|
+
e && e.dataTransfer && e.dataTransfer.clearData()
|
|
95
|
+
}
|
|
96
|
+
|
|
30
97
|
componentDidUpdate (prevProps) {
|
|
31
98
|
const prevList = prevProps.fileList
|
|
32
99
|
const nextList = this.props.fileList
|
|
@@ -289,7 +356,12 @@ export default class FileListTable extends Component {
|
|
|
289
356
|
draggable: false,
|
|
290
357
|
onScroll: this.onScroll,
|
|
291
358
|
onClick: this.handleClick,
|
|
292
|
-
onDoubleClick: this.handleDoubleClick
|
|
359
|
+
onDoubleClick: this.handleDoubleClick,
|
|
360
|
+
onDragOver: this.onDragOver,
|
|
361
|
+
onDragEnter: this.onDragEnter,
|
|
362
|
+
onDragLeave: this.onDragLeave,
|
|
363
|
+
onDrop: this.onDrop,
|
|
364
|
+
onDragEnd: this.onDragEnd
|
|
293
365
|
}
|
|
294
366
|
const cls = classnames('sftp-table relative')
|
|
295
367
|
const ddProps = {
|