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