在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:alyssaxuu/flowy开源软件地址:https://github.com/alyssaxuu/flowy开源编程语言:JavaScript 100.0%开源软件介绍:Flowy
Dribbble | Twitter | Live demo Flowy makes creating WebApps with flowchart functionality an incredibly simple task. Build automation software, mind mapping tools, or simple programming platforms in minutes by implementing the library into your project. Made by Alyssa X Table of contentsFeaturesCurrently, Flowy supports the following:
You can suggest new features here InstallationAdding Flowy to your WebApp is incredibly simple:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.css">
<script src="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.js"></script>
Running FlowyInitializationflowy(canvas, ongrab, onrelease, onsnap, onrearrange, spacing_x, spacing_y);
To define the blocks that can be dragged, you need to add the class ExampleHTML <div class="create-flowy">The block to be dragged</div>
<div id="canvas"></div> Javascript var spacing_x = 40;
var spacing_y = 100;
// Initialize Flowy
flowy(document.getElementById("canvas"), onGrab, onRelease, onSnap, onRearrange, spacing_x, spacing_y);
function onGrab(block){
// When the user grabs a block
}
function onRelease(){
// When the user releases a block
}
function onSnap(block, first, parent){
// When a block snaps with another one
}
function onRearrange(block, parent){
// When a block is rearranged
} CallbacksIn order to use callbacks, you need to add the functions when initializing Flowy, as explained before. On grabfunction onGrab(block){
// When the user grabs a block
} Gets triggered when a user grabs a block with the class
On releasefunction onRelease(){
// When the user lets go of a block
} Gets triggered when a user lets go of a block, regardless of whether it attaches or even gets released in the canvas. On snapfunction onSnap(block, first, parent){
// When a block can attach to a parent
return true;
} Gets triggered when a block can attach to another parent block. You can either prevent the attachment, or allow it by using
On rearrangefunction onRearrange(block, parent){
// When a block is rearranged
return true;
} Gets triggered when blocks are rearranged and are dropped anywhere in the canvas, without a parent to attach to. You can either allow the blocks to be deleted, or prevent it and thus have them re-attach to their previous parent using
MethodsGet the flowchart data// As an object
flowy.output();
// As a JSON string
JSON.stringify(flowy.output()); The JSON object that gets outputted looks like this: {
"html": "",
"blockarr": [],
"blocks": [
{
"id": 1,
"parent": 0,
"data": [
{
"name": "blockid",
"value": "1"
}
],
"attr": [
{
"id": "block-id",
"class": "block-class"
}
]
}
]
} Here's what each property means:
Import the flowchart dataflowy.import(output) Allows you to import entire flowcharts initially exported using the previous method,
WarningThis method accepts raw HTML and does not sanitize it, therefore this method is vulnerable to XSS. The only safe use for this method is when the input is absolutely trusted, if the input is not to be trusted the use this method can introduce a vulnerability in your system. Delete all blocksTo remove all blocks at once use: flowy.deleteBlocks() Currently there is no method to individually remove blocks. The only way to go about it is by splitting branches manually. Feel free to reach out to me through email at [email protected] or on Twitter if you have any questions or feedback! Hope you find this useful |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论