Files
JM-admin/src/utils/positionToCode.js
2023-01-10 11:52:47 +08:00

37 lines
994 B
JavaScript

export const initDom = () => {
if (import.meta.env.MODE === 'development') {
document.onmousedown = function(e) {
if (e.shiftKey && e.button === 0) {
e.preventDefault()
sendRequestToOpenFileInEditor(getFilePath(e))
}
}
}
}
const getFilePath = (e) => {
let element = e
if (e.target) {
element = e.target
}
if (!element || !element.getAttribute) return null
if (element.getAttribute('code-location')) {
return element.getAttribute('code-location')
}
return getFilePath(element.parentNode)
}
const sendRequestToOpenFileInEditor = (filePath) => {
const protocol = window.location.protocol
? window.location.protocol
: 'http:'
const hostname = window.location.hostname
? window.location.hostname
: 'localhost'
const port = window.location.port ? window.location.port : '80'
fetch(`${protocol}//${hostname}:${port}/gvaPositionCode?filePath=${filePath}`)
.catch((error) => {
console.log(error)
})
}