m-reda / Linker
workflow editor library
Stars: ✭ 85
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Linker
Litegraph.js
A graph node engine and editor written in Javascript similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D. The engine can run client side or server side using Node. It allows to export graphs as JSONs to be included in applications independently.
Stars: ✭ 2,735 (+3117.65%)
Mutual labels: workflow, editor
Diagram Maker
A library to display an interactive editor for any graph-like data.
Stars: ✭ 2,086 (+2354.12%)
Mutual labels: workflow, editor
Wfd
flowable workflow designer base on @antv/g6
Stars: ✭ 639 (+651.76%)
Mutual labels: workflow, editor
React Design Editor
React Design Editor has started to developed direct manipulation of editable design tools like Powerpoint, We've developed it with reactjs, ant.design, fabricjs
Stars: ✭ 687 (+708.24%)
Mutual labels: workflow, editor
Setup Msys2
GitHub Action to setup MSYS2 (MSYS, MINGW64 and/or MINGW32)
Stars: ✭ 78 (-8.24%)
Mutual labels: workflow
Xpiks
Cross-Platform Image Keywording Software for microstock photographers and illustrators
Stars: ✭ 81 (-4.71%)
Mutual labels: editor
Nipype tutorial
Learn Nipype with these tutorial notebooks - go here to see them online -->
Stars: ✭ 76 (-10.59%)
Mutual labels: workflow
Flyte
Accelerate your ML and Data workflows to production. Flyte is a production grade orchestration system for your Data and ML workloads. It has been battle tested at Lyft, Spotify, freenome and others and truly open-source.
Stars: ✭ 1,242 (+1361.18%)
Mutual labels: workflow
Goguru
GoGuru is a Golang plugin for SublimeText 3 that integrates the Go guru tool.
Stars: ✭ 78 (-8.24%)
Mutual labels: editor
Launch Kit
An awesome tool-kit for launching Cosmos-SDK and Tendermint-based projects
Stars: ✭ 82 (-3.53%)
Mutual labels: workflow
Machine
Machine is a workflow/pipeline library for processing data
Stars: ✭ 78 (-8.24%)
Mutual labels: workflow
Laravel Whoops Editor
Laravel Whoops Editor helps to open your code editor from exception stack trace.
Stars: ✭ 83 (-2.35%)
Mutual labels: editor
Agilework
可视化低代码快速开发平台,面向业务、企业管理系统定制开发平台和应用平台,包括设计器、应用端。提供业务配置和集成开发能力,用户通过可视化拖拉拽配置式操作即可快速构建出能同时在PC和移动端运行的各类管理系统,对于企业客户的信息系统在管理模式、业务流程、表单界面、数据可视化展示、IoT管控等个性化需求,可以通过设计器,快速的进行个性化配置。并支持企业微信,公众号,钉钉等移动集成,实现用户跨区域移动办公。从而构建企业个性化的行业应用、集成应用和复杂的业务报表。
Stars: ✭ 76 (-10.59%)
Mutual labels: workflow
Read Only Coding
Automator services to make coding in Xcode easier
Stars: ✭ 82 (-3.53%)
Mutual labels: workflow
Auto Assign Action
An action which adds reviewers to the pull request when the pull request is opened.
Stars: ✭ 78 (-8.24%)
Mutual labels: workflow
Linker is Node Editor Library, I built this library for a new project I'm working on, besides I was interested in building one.
Note: This is a beta
version.
Installation
1- Required files
<script src="https://code.jquery.com/jquery-3.2.0.min.js"></script>
<script src="linker.min.js"></script>
<link rel="stylesheet" href="linker.min.css">
2- Add the html container
<div id="linker"></div>
3- Initialize the linker
$(document).ready(function () {
var linker = $('#linker').linker();
});
Demo
You can download the demo files from dist folder
Usage
Add new node
var node = linker.node({id: 'first', name: 'First Node', x: 100, y: 100});
You can pass any data as a node and read it from the events handler
Add new input
var node_in = node.input('input_id', 'Input Name');
You can add multiple inputs
Add new output
var node_out = node.output('output_id', 'Output Name');
You can add multiple outputs
Add path between two nodes
node_out.connect(node2_in);
You can connect the output to multiple inputs
Add path without triggering onConnect event
node_out.connect(node2_in, true);
Node Events
onDrag: When the node position change
node.onDrag = function (x, y) {
console.log(x, y, this);
// 'x, y' is the new position
// 'this' is the node object
};
onDragFinish: When the dragging finish
node.onDragFinish = function (x, y) {
console.log(x, y, this);
// 'x, y' is the new position
// 'this' is the node object
};
onRemove: When delete the node
node.onRemove = function () {
console.log(this);
};
onSetting: When setting's icon clicked
node.onSetting = function () {
alert('Setting ' + this.name);
};
Output Events
onConnect: When this output connect to new input
node_out.onConnect = function (input) {
console.log(this, input);
// 'this' is the output object
// 'this.node' is the output parent node object
// '$(this.el)' is the output DOM element
// 'input' is the input object
// 'input.node' is the output parent node object
// '$(input.el)' is the input DOM element
};
onRemove: When this output path remove
node_out.onRemove = function (index) {
console.log(index)
};
Options
var linker = $('#linker').linker({
// hide setting icons from the nodes
settingIcon: false
});
Example
$(document).ready(function () {
var linker = $('#linker').linker();
// add a node
var node1 = linker.node({id: 'first', name: 'First Node', x: 100, y: 100});
// when the node position change
node1.onDrag = function (x, y) {
console.log(x, y, this); // print the new position and the node object
};
// trigger when delete the node
node1.onRemove = function () {
console.log(this); // print the node object
};
// trigger when setting icon clicked
node1.onSetting = function () {
alert('Setting ' + this.name);
};
// add an input
node1.input('input_id', 'Input Name');
// add an output
var node1_out = node1.output('output_id', 'Output Name');
// trigger when this output connect to new input
node1_out.onConnect = function (input) {
console.log(this, input); // print the output and the input objects
};
// trigger when this output link remove
node1_out.onRemove = function (index) {
console.log(index)
};
// add node 2
var node2 = linker.node({id: 'second', name: 'Second Node', x: 400, y: 200});
var node2_in = node2.input('input_id', 'Input Name');
node2.onSetting = function () {
alert('Setting ' + this.name);
};
// add path between two nodes
node1_out.connect(node2_in);
});
Development environment
nmp install
to install required modules
gulp watch
to compile sass and javascript files
Credits
Linker is inspired by NEditorJS
License
MIT
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].