upd: use local drawio editor

This commit is contained in:
purocean
2022-01-12 00:06:46 +08:00
parent 6deac16e57
commit e4c8d4a8c3
6 changed files with 51 additions and 4152 deletions
+1
View File
@@ -4,6 +4,7 @@ nohup.out
node_modules
dist
src/renderer/public/vs
src/renderer/public/drawio
src/renderer/public/embed
out
bin
+3
View File
@@ -0,0 +1,3 @@
[submodule "drawio"]
path = drawio
url = https://github.com/jgraph/drawio.git
Submodule
+1
Submodule drawio added at 27ecd98824
+2 -2
View File
@@ -245,7 +245,7 @@ async function buildSrcdoc ({ repo, path, content }: F) {
}
</style>
${div.outerHTML}
<script src="${location.origin}/viewer.min.js"></script>
<script src="${location.origin}/drawio/js/viewer.min.js"></script>
`
}
@@ -264,7 +264,7 @@ function buildEditorSrcdoc (file: Doc) {
</style>
<script>
function init (doc) {
const DRAW_IFRAME_URL = 'https://embed.diagrams.net/?embed=1&proto=json';
const DRAW_IFRAME_URL = '/drawio/index.html?embed=1&proto=json';
const iframe = document.createElement('iframe')
iframe.style.boxSizing = 'border-box'
-4142
View File
File diff suppressed because one or more lines are too long
+44 -8
View File
@@ -4,15 +4,51 @@ import path from 'path'
import fs from 'fs-extra'
// copy vs
fs.copySync(
path.resolve(__dirname, 'node_modules/monaco-editor/min/vs'),
path.resolve(__dirname, 'src/renderer/public/vs')
)
const vsDist = path.resolve(__dirname, 'src/renderer/public/vs')
if (!fs.existsSync(vsDist)) {
fs.copySync(
path.resolve(__dirname, 'node_modules/monaco-editor/min/vs'),
vsDist
)
}
fs.copySync(
path.resolve(__dirname, 'node_modules/luckysheet/dist'),
path.resolve(__dirname, 'src/renderer/public/embed')
)
// copy lucky-sheet
// must use embed dir
const luckySheetDist = path.resolve(__dirname, 'src/renderer/public/embed')
if (!fs.existsSync(path.join(luckySheetDist, 'luckysheet.umd.js'))) {
fs.copySync(
path.resolve(__dirname, 'node_modules/luckysheet/dist'),
luckySheetDist,
{
filter: src => {
if (src.includes('demoData') || src.includes('esm.js') || src.includes('index.html')) {
return false
}
return true
}
}
)
}
// copy drawio
const drawioDist = path.resolve(__dirname, 'src/renderer/public/drawio')
if (!fs.existsSync(drawioDist)) {
fs.copySync(
path.resolve(__dirname, 'drawio/src/main/webapp'),
drawioDist,
{
filter: src => {
if (src.includes('WEB-INF') || src.includes('META-INF')) {
return false
}
return true
}
}
)
}
// https://vitejs.dev/config/
export default defineConfig({