Merge remote-tracking branch 'origin/chao-flow' into develop
# Conflicts: # public/js/app.js
This commit is contained in:
commit
4171d993d0
2
public/js/app.js
vendored
2
public/js/app.js
vendored
File diff suppressed because one or more lines are too long
1
public/js/build/113.js
vendored
1
public/js/build/113.js
vendored
File diff suppressed because one or more lines are too long
2
public/js/build/32.js
vendored
2
public/js/build/32.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/js/build/954.js
vendored
2
public/js/build/954.js
vendored
File diff suppressed because one or more lines are too long
105
public/js/drawio/viewer.html
Normal file
105
public/js/drawio/viewer.html
Normal file
@ -0,0 +1,105 @@
|
||||
<!--[if IE]>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=5,IE=9"><![endif]-->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Grapheditor viewer</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||
<style>
|
||||
#graph {
|
||||
position: absolute;
|
||||
cursor: move;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var STENCIL_PATH = 'stencils';
|
||||
var IMAGE_PATH = 'images';
|
||||
var STYLE_PATH = 'styles';
|
||||
|
||||
var urlParams = (function (url) {
|
||||
var result = {};
|
||||
var idx = url.lastIndexOf('?');
|
||||
if (idx > 0) {
|
||||
var params = url.substring(idx + 1).split('&');
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
idx = params[i].indexOf('=');
|
||||
if (idx > 0) {
|
||||
result[params[i].substring(0, idx)] = params[i].substring(idx + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
})(window.location.href);
|
||||
|
||||
var mxLoadResources = false;
|
||||
var mxBasePath = './src';
|
||||
</script>
|
||||
<script type="text/javascript" src="js/sanitizer/sanitizer.min.js"></script>
|
||||
<script type="text/javascript" src="./mxgraph/mxClient.js"></script>
|
||||
<script type="text/javascript" src="js/grapheditor/Graph.js"></script>
|
||||
<script type="text/javascript" src="js/grapheditor/Shapes.js"></script>
|
||||
</head>
|
||||
<body class="geEditor">
|
||||
<div id="graph"></div>
|
||||
<script type="text/javascript">
|
||||
(function (win) {
|
||||
var graph = new Graph(document.getElementById('graph'));
|
||||
|
||||
graph.setTooltips(false);
|
||||
graph.setEnabled(false);
|
||||
graph.setPanning(true);
|
||||
|
||||
var style = graph.getStylesheet().getDefaultVertexStyle();
|
||||
style[mxConstants.STYLE_FONTCOLOR] = "#000000";
|
||||
style[mxConstants.STYLE_STROKECOLOR] = "#777777";
|
||||
style[mxConstants.STYLE_FILLCOLOR] = "#ffffff";
|
||||
(style = graph.getStylesheet().getDefaultEdgeStyle())[mxConstants.STYLE_STROKECOLOR] = "#777777";
|
||||
style[mxConstants.STYLE_FILLCOLOR] = "#ffffff";
|
||||
|
||||
graph.panningHandler.useLeftButtonForPanning = true;
|
||||
graph.panningHandler.ignoreCell = true;
|
||||
graph.container.style.cursor = "move";
|
||||
graph.resizeContainer = false;
|
||||
graph.centerZoom = true;
|
||||
graph.border = 0;
|
||||
|
||||
|
||||
win.addEventListener("message", function (event) {
|
||||
var data = event.data;
|
||||
switch (data.act) {
|
||||
case 'setXml':
|
||||
try {
|
||||
var xmlDoc = mxUtils.parseXml(data.params.xml);
|
||||
var codec = new mxCodec(xmlDoc);
|
||||
codec.decode(xmlDoc.documentElement, graph.getModel());
|
||||
typeof data.params.scale === "number" && graph.zoomTo(data.params.scale);
|
||||
// typeof data.params.scrollTop === "number" && (graph.container.scrollTop = data.params.scrollTop);
|
||||
// typeof data.params.scrollLeft === "number" && (graph.container.scrollLeft = data.params.scrollLeft);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case 'zoom':
|
||||
try {
|
||||
graph.zoomTo(data.params.zoom);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
win.parent.postMessage({
|
||||
act: 'ready',
|
||||
params: {}
|
||||
}, '*');
|
||||
})(window);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -68,14 +68,13 @@ Vue.use(Minder)
|
||||
|
||||
const MDEditor = () => import('../../../components/MDEditor/index');
|
||||
const TEditor = () => import('../../../components/TEditor');
|
||||
const Flow = () => import('../../../components/Flow');
|
||||
const AceEditor = () => import('../../../components/AceEditor');
|
||||
const OnlyOffice = () => import('../../../components/OnlyOffice');
|
||||
const Drawio = () => import('../../../components/Drawio');
|
||||
|
||||
export default {
|
||||
name: "FileContent",
|
||||
components: {AceEditor, TEditor, MDEditor, Flow, OnlyOffice,Drawio},
|
||||
components: {AceEditor, TEditor, MDEditor, OnlyOffice,Drawio},
|
||||
props: {
|
||||
value: {
|
||||
type: Boolean,
|
||||
|
@ -27,7 +27,7 @@
|
||||
<MDPreview v-if="contentDetail.type=='md'" :initialValue="contentDetail.content"/>
|
||||
<TEditor v-else v-model="contentDetail.content" height="100%" readOnly/>
|
||||
</template>
|
||||
<Flow v-else-if="file.type=='flow'" ref="myFlow" v-model="contentDetail" readOnly/>
|
||||
<Drawio v-else-if="file.type=='flow'" ref="myFlow" v-model="contentDetail" readOnly/>
|
||||
<Minder v-else-if="file.type=='mind'" ref="myMind" v-model="contentDetail" readOnly/>
|
||||
<OnlyOffice v-else-if="['word', 'excel', 'ppt'].includes(file.type)" v-model="contentDetail" :code="code" :documentKey="documentKey" readOnly/>
|
||||
<AceEditor v-else-if="['code', 'txt'].includes(file.type)" v-model="contentDetail.content" :ext="file.ext" readOnly/>
|
||||
@ -44,13 +44,12 @@ Vue.use(Minder)
|
||||
|
||||
const MDPreview = () => import('../../../components/MDEditor/preview');
|
||||
const TEditor = () => import('../../../components/TEditor');
|
||||
const Flow = () => import('../../../components/Flow');
|
||||
const AceEditor = () => import('../../../components/AceEditor');
|
||||
const OnlyOffice = () => import('../../../components/OnlyOffice');
|
||||
|
||||
export default {
|
||||
name: "FilePreview",
|
||||
components: {AceEditor, TEditor, MDPreview, Flow, OnlyOffice},
|
||||
components: {AceEditor, TEditor, MDPreview, OnlyOffice, Drawio},
|
||||
props: {
|
||||
code: {
|
||||
type: String,
|
||||
|
105
resources/assets/statics/public/js/drawio/viewer.html
Normal file
105
resources/assets/statics/public/js/drawio/viewer.html
Normal file
@ -0,0 +1,105 @@
|
||||
<!--[if IE]>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=5,IE=9"><![endif]-->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Grapheditor viewer</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||
<style>
|
||||
#graph {
|
||||
position: absolute;
|
||||
cursor: move;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var STENCIL_PATH = 'stencils';
|
||||
var IMAGE_PATH = 'images';
|
||||
var STYLE_PATH = 'styles';
|
||||
|
||||
var urlParams = (function (url) {
|
||||
var result = {};
|
||||
var idx = url.lastIndexOf('?');
|
||||
if (idx > 0) {
|
||||
var params = url.substring(idx + 1).split('&');
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
idx = params[i].indexOf('=');
|
||||
if (idx > 0) {
|
||||
result[params[i].substring(0, idx)] = params[i].substring(idx + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
})(window.location.href);
|
||||
|
||||
var mxLoadResources = false;
|
||||
var mxBasePath = './src';
|
||||
</script>
|
||||
<script type="text/javascript" src="js/sanitizer/sanitizer.min.js"></script>
|
||||
<script type="text/javascript" src="./mxgraph/mxClient.js"></script>
|
||||
<script type="text/javascript" src="js/grapheditor/Graph.js"></script>
|
||||
<script type="text/javascript" src="js/grapheditor/Shapes.js"></script>
|
||||
</head>
|
||||
<body class="geEditor">
|
||||
<div id="graph"></div>
|
||||
<script type="text/javascript">
|
||||
(function (win) {
|
||||
var graph = new Graph(document.getElementById('graph'));
|
||||
|
||||
graph.setTooltips(false);
|
||||
graph.setEnabled(false);
|
||||
graph.setPanning(true);
|
||||
|
||||
var style = graph.getStylesheet().getDefaultVertexStyle();
|
||||
style[mxConstants.STYLE_FONTCOLOR] = "#000000";
|
||||
style[mxConstants.STYLE_STROKECOLOR] = "#777777";
|
||||
style[mxConstants.STYLE_FILLCOLOR] = "#ffffff";
|
||||
(style = graph.getStylesheet().getDefaultEdgeStyle())[mxConstants.STYLE_STROKECOLOR] = "#777777";
|
||||
style[mxConstants.STYLE_FILLCOLOR] = "#ffffff";
|
||||
|
||||
graph.panningHandler.useLeftButtonForPanning = true;
|
||||
graph.panningHandler.ignoreCell = true;
|
||||
graph.container.style.cursor = "move";
|
||||
graph.resizeContainer = false;
|
||||
graph.centerZoom = true;
|
||||
graph.border = 0;
|
||||
|
||||
|
||||
win.addEventListener("message", function (event) {
|
||||
var data = event.data;
|
||||
switch (data.act) {
|
||||
case 'setXml':
|
||||
try {
|
||||
var xmlDoc = mxUtils.parseXml(data.params.xml);
|
||||
var codec = new mxCodec(xmlDoc);
|
||||
codec.decode(xmlDoc.documentElement, graph.getModel());
|
||||
typeof data.params.scale === "number" && graph.zoomTo(data.params.scale);
|
||||
// typeof data.params.scrollTop === "number" && (graph.container.scrollTop = data.params.scrollTop);
|
||||
// typeof data.params.scrollLeft === "number" && (graph.container.scrollLeft = data.params.scrollLeft);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case 'zoom':
|
||||
try {
|
||||
graph.zoomTo(data.params.zoom);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
win.parent.postMessage({
|
||||
act: 'ready',
|
||||
params: {}
|
||||
}, '*');
|
||||
})(window);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user