drawflow.js实现一个拖拽绘制流程图效果代码
代码语言:html
所属分类:其他
代码描述:drawflow.js实现一个拖拽绘制流程图效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Drawflow | Simple Flow program libray</title>
<meta name="description" content="Simple library for flow programming. Drawflow allows you to create data flows easily and quickly.">
</head>
<body>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/drawflow.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/js/all.min.js" integrity="sha256-KzZiKy0DWYsnwMF+X1DvQngQ2/FxF7MF3Ff72XcpuPs=" crossorigin="anonymous"></script>
<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/drawflow.min.css">
<style>
:root {
--border-color: #cacaca;
--background-color: #ffffff;
--background-box-title: #f7f7f7;
}
html, body {
margin: 0px;
padding: 0px;
width: 100vw;
height: 100vh;
overflow: hidden;
font-family: 'Roboto', sans-serif;
}
header {
height: 66px;
border-bottom: 1px solid var(--border-color);
padding-left: 20px;
}
header h2 {
margin: 0px;
line-height: 66px;
}
header a {
color: black;
}
.them-edit-link {
position: absolute;
top: 10px;
right: 100px;
color: black;
font-size: 40px;
}
.them-edit-link a {
text-decoration: none;
}
.github-link{
position: absolute;
top: 10px;
right: 20px;
color: black;
}
.wrapper {
width: 100%;
height: calc(100vh - 67px);
display: flex;
}
.col {
overflow: auto;
width: 300px;
height: 100%;
border-right: 1px solid var(--border-color);
}
.drag-drawflow {
line-height: 50px;
border-bottom: 1px solid var(--border-color);
padding-left: 20px;
cursor: move;
user-select: none;
}
.menu {
position: absolute;
height: 40px;
display: block;
background: white;
width: 100%;
}
.menu ul {
padding: 0px;
margin: 0px;
line-height: 40px;
}
.menu ul li {
display: inline-block;
margin-left: 10px;
border-right: 1px solid var(--border-color);
padding-right: 10px;
line-height: 40px;
cursor: pointer;
}
.menu ul li.selected {
font-weight: bold;
}
.btn-export {
float: right;
position: absolute;
top: 10px;
right: 10px;
color: white;
font-weight: bold;
border: 1px solid #0e5ba3;
background: #4ea9ff;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
z-index: 5;
}
.btn-clear {
float: right;
position: absolute;
top: 10px;
right: 85px;
color: white;
font-weight: bold;
border: 1px solid #96015b;
background: #e3195a;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
z-index: 5;
}
.swal-wide{
width:80% !important;
}
.btn-lock {
float: right;
position: absolute;
bottom: 10px;
right: 140px;
display: flex;
font-size: 24px;
color: white;
padding: 5px 10px;
background: #555555;
border-radius: 4px;
border-right: 1px solid var(--border-color);
z-index: 5;
cursor: pointer;
}
.bar-zoom {
float: right;
position: absolute;
bottom: 10px;
right: 10px;
display: flex;
font-size: 24px;
color: white;
padding: 5px 10px;
background: #555555;
border-radius: 4px;
border-right: 1px solid var(--border-color);
z-index: 5;
}
.bar-zoom svg {
cursor: pointer;
padding-left: 10px;
}
.bar-zoom svg:nth-child(1) {
padding-left: 0px;
}
#drawflow {
position: relative;
width: calc(100vw - 301px);
height: calc(100% - 50px);
top: 40px;
background: var(--background-color);
background-size: 25px 25px;
background-image:
linear-gradient(to right, #f1f1f1 1px, transparent 1px),
linear-gradient(to bottom, #f1f1f1 1px, transparent 1px);
}
@media only screen and (max-width: 768px) {
.col {
width: 50px;
}
.col .drag-drawflow span {
display:none;
}
#drawflow {
width: calc(100vw - 51px);
}
}
/* Editing Drawflow */
.drawflow .drawflow-node {
background: var(--background-color);
border: 1px solid var(--border-color);
-webkit-box-shadow: 0 2px 15px 2px var(--border-color);
box-shadow: 0 2px 15px 2px var(--border-color);
padding: 0px;
width: 200px;
}
.drawflow .drawflow-node.selected {
background: white;
border: 1px solid #4ea9ff;
-webkit-box-shadow: 0 2px 20px 2px #4ea9ff;
box-shadow: 0 2px 20px 2px #4ea9ff;
}
.drawflow .drawflow-node.selected .title-box {
color: #22598c;
/*border-bottom: 1px solid #4ea9ff;*/
}
.drawflow .connection .main-path {
stroke: #4ea9ff;
stroke-width: 3px;
}
.drawflow .drawflow-node .input, .drawflow .drawflow-node .output {
height: 15px;
width: 15px;
border: 2px solid var(--border-color);
}
.drawflow .drawflow-node .input:hover, .drawflow .drawflow-node .output:hover {
background: #4ea9ff;
}
.drawflow .drawflow-node .output {
right: 10px;
}
.drawflow .drawflow-node .input {
left: -10px;
background: white;
}
.drawflow > .drawflow-delete {
border: 2px solid #43b993;
background: white;
color: #43b993;
-webkit-box-shadow: 0 2px 20px 2px #43b993;
box-shadow: 0 2px 20px 2px #43b993;
}
.drawflow-delete {
border: 2px solid #4ea9ff;
background: white;
color: #4ea9ff;
-webkit-box-shadow: 0 2px 20px 2px #4ea9ff;
box-shadow: 0 2px 20px 2px #4ea9ff;
}
.drawflow-node .title-box {
height: 50px;
line-height: 50px;
background: var(--background-box-title);
border-bottom: 1px solid #e9e9e9;
border-radius: 4px 4px 0px 0px;
padding-left: 10px;
}
.drawflow .title-box svg {
position: initial;
}
.drawflow-node .box {
padding: 10px 20px 20px 20px;
font-size: 14px;
color: #555555;
}
.drawflow-node .box p {
margin-top: 5px;
margin-bottom: 5px;
}
.drawflow-node.welcome {
width: 250px;
}
.drawflow-node.slack .title-box {
border-radius: 4px;
}
.drawflow-node input, .drawflow-node select, .drawflow-node textarea {
border-radius: 4px;
border: 1px solid .........完整代码请登录后点击上方下载按钮下载查看
网友评论0