@rkmodules/rules 0.0.23 → 0.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +111 -123
- package/dist/index.js.map +1 -1
- package/dist/lib/Flow/Components/GenericNode.d.ts +2 -3
- package/dist/lib/Flow/Components/Input.d.ts +1 -2
- package/dist/lib/Flow/Components/Param.d.ts +1 -2
- package/dist/lib/Flow/Context.d.ts +1 -3
- package/dist/lib/Flow/index.d.ts +3 -3
- package/dist/lib/Flow/types.d.ts +5 -1
- package/dist/lib/hooks/useFlow.d.ts +5 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var mathjs = require('mathjs');
|
|
4
|
-
var react = require('@xyflow/react');
|
|
5
|
-
var useInner = require('@rkmodules/use-inner');
|
|
6
4
|
var React = require('react');
|
|
5
|
+
var react = require('@xyflow/react');
|
|
7
6
|
var katex = require('katex');
|
|
8
7
|
var classNames = require('classnames');
|
|
9
8
|
var zustand = require('zustand');
|
|
@@ -1406,49 +1405,6 @@ var Engine = /** @class */ (function () {
|
|
|
1406
1405
|
return Engine;
|
|
1407
1406
|
}());
|
|
1408
1407
|
|
|
1409
|
-
var dummyEngine = new Engine();
|
|
1410
|
-
var EngineContext = React.createContext(dummyEngine);
|
|
1411
|
-
var useEngine = function () {
|
|
1412
|
-
return React.useContext(EngineContext);
|
|
1413
|
-
};
|
|
1414
|
-
var ChangeContext = React.createContext(function () { });
|
|
1415
|
-
var useChange = function () {
|
|
1416
|
-
return React.useContext(ChangeContext);
|
|
1417
|
-
};
|
|
1418
|
-
|
|
1419
|
-
var styles = {"DefaultNode":"DefaultNode_R2P6c","selected":"selected_VmB-F","active":"active_zjUzx","Log":"Log_dsq5e","Label":"Label_wBwWA","Input":"Input_Yhvzf","Output":"Output_e4yF-","Table":"Table_aZyRT"};
|
|
1420
|
-
|
|
1421
|
-
function NodeContainer(_a) {
|
|
1422
|
-
var _b;
|
|
1423
|
-
var id = _a.id, label = _a.label, className = _a.className, selected = _a.selected, children = _a.children;
|
|
1424
|
-
var engine = useEngine();
|
|
1425
|
-
var _c = __read(React.useState(false), 2), active = _c[0], setActive = _c[1];
|
|
1426
|
-
React.useEffect(function () {
|
|
1427
|
-
if (!id)
|
|
1428
|
-
return;
|
|
1429
|
-
var removeOnCall = engine.subscribe("functionCall", function (event) {
|
|
1430
|
-
if (event.name === id) {
|
|
1431
|
-
setActive(true);
|
|
1432
|
-
}
|
|
1433
|
-
});
|
|
1434
|
-
var removeOnResult = engine.subscribe("functionResult", function (event) {
|
|
1435
|
-
if (event.name === id) {
|
|
1436
|
-
setTimeout(function () { return setActive(false); }, Math.max(0, 1000 - (event.duration || 0)));
|
|
1437
|
-
}
|
|
1438
|
-
});
|
|
1439
|
-
return function () {
|
|
1440
|
-
removeOnCall();
|
|
1441
|
-
removeOnResult();
|
|
1442
|
-
};
|
|
1443
|
-
}, [id]);
|
|
1444
|
-
return (React.createElement("div", { className: classNames(className, styles.DefaultNode, (_b = {},
|
|
1445
|
-
_b[styles.selected] = selected,
|
|
1446
|
-
_b[styles.active] = active,
|
|
1447
|
-
_b)) },
|
|
1448
|
-
React.createElement("div", { className: styles.Label }, label),
|
|
1449
|
-
children));
|
|
1450
|
-
}
|
|
1451
|
-
|
|
1452
1408
|
function Control(_a) {
|
|
1453
1409
|
var value = _a.value, type = _a.type, options = _a.options, onChange = _a.onChange;
|
|
1454
1410
|
if (options) {
|
|
@@ -1471,21 +1427,19 @@ function Control(_a) {
|
|
|
1471
1427
|
}
|
|
1472
1428
|
}
|
|
1473
1429
|
|
|
1430
|
+
var styles = {"DefaultNode":"DefaultNode_R2P6c","selected":"selected_VmB-F","active":"active_zjUzx","Log":"Log_dsq5e","Label":"Label_wBwWA","Input":"Input_Yhvzf","Output":"Output_e4yF-","Table":"Table_aZyRT"};
|
|
1431
|
+
|
|
1474
1432
|
var Input = function (_a) {
|
|
1475
1433
|
var _b;
|
|
1476
|
-
var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data
|
|
1434
|
+
var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data;
|
|
1477
1435
|
var normalized = normalizeVarDef(varDef);
|
|
1478
1436
|
var value = (_b = data.inputs) === null || _b === void 0 ? void 0 : _b[name];
|
|
1479
1437
|
var isRef = isReference(value);
|
|
1480
1438
|
var handleInputChange = function (param) { return function (value) {
|
|
1481
1439
|
var _a;
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
call.inputs = __assign(__assign({}, call.inputs), (_a = {}, _a[param] = value, _a));
|
|
1486
|
-
body[id] = call;
|
|
1487
|
-
var updatedFn = __assign(__assign({}, data.caller), { body: body });
|
|
1488
|
-
onChange(updatedFn);
|
|
1440
|
+
data.onChange({
|
|
1441
|
+
inputs: __assign(__assign({}, data.inputs), (_a = {}, _a[param] = value, _a)),
|
|
1442
|
+
});
|
|
1489
1443
|
}; };
|
|
1490
1444
|
return (React.createElement("tr", { key: name, className: classNames(styles.Input, styles["type-".concat(normalized.type)]), style: {
|
|
1491
1445
|
"--type-color": "var(--color-".concat(normalized.type, ")"),
|
|
@@ -1498,19 +1452,15 @@ var Input = function (_a) {
|
|
|
1498
1452
|
|
|
1499
1453
|
var Param = function (_a) {
|
|
1500
1454
|
var _b;
|
|
1501
|
-
|
|
1455
|
+
_a.id; var name = _a.name, varDef = _a.varDef, data = _a.data;
|
|
1502
1456
|
var normalized = normalizeVarDef(varDef);
|
|
1503
1457
|
var value = (_b = data.params) === null || _b === void 0 ? void 0 : _b[name];
|
|
1504
1458
|
var isRef = isReference(value);
|
|
1505
1459
|
var handleParamChange = function (param) { return function (value) {
|
|
1506
1460
|
var _a;
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
call.params = __assign(__assign({}, call.params), (_a = {}, _a[param] = value, _a));
|
|
1511
|
-
body[id] = call;
|
|
1512
|
-
var updatedFn = __assign(__assign({}, data.caller), { body: body });
|
|
1513
|
-
onChange(updatedFn);
|
|
1461
|
+
data.onChange({
|
|
1462
|
+
params: __assign(__assign({}, data.params), (_a = {}, _a[param] = value, _a)),
|
|
1463
|
+
});
|
|
1514
1464
|
}; };
|
|
1515
1465
|
return (React.createElement("tr", { key: name, className: classNames(styles.Input, styles["type-".concat(normalized.type)]), style: {
|
|
1516
1466
|
"--type-color": "var(--color-".concat(normalized.type, ")"),
|
|
@@ -1530,23 +1480,62 @@ var Output = function (_a) {
|
|
|
1530
1480
|
React.createElement(react.Handle, { type: "source", position: react.Position.Right, id: "".concat(id, "-").concat(name) }))));
|
|
1531
1481
|
};
|
|
1532
1482
|
|
|
1483
|
+
var dummyEngine = new Engine();
|
|
1484
|
+
var EngineContext = React.createContext(dummyEngine);
|
|
1485
|
+
var useEngine = function () {
|
|
1486
|
+
return React.useContext(EngineContext);
|
|
1487
|
+
};
|
|
1488
|
+
|
|
1489
|
+
function NodeContainer(_a) {
|
|
1490
|
+
var _b;
|
|
1491
|
+
var id = _a.id, label = _a.label, className = _a.className, selected = _a.selected, children = _a.children;
|
|
1492
|
+
var engine = useEngine();
|
|
1493
|
+
var _c = __read(React.useState(false), 2), active = _c[0], setActive = _c[1];
|
|
1494
|
+
React.useEffect(function () {
|
|
1495
|
+
if (!id)
|
|
1496
|
+
return;
|
|
1497
|
+
var timer;
|
|
1498
|
+
var removeOnCall = engine.subscribe("functionCall", function (event) {
|
|
1499
|
+
if (event.name === id) {
|
|
1500
|
+
setActive(true);
|
|
1501
|
+
}
|
|
1502
|
+
});
|
|
1503
|
+
var removeOnResult = engine.subscribe("functionResult", function (event) {
|
|
1504
|
+
if (event.name === id) {
|
|
1505
|
+
clearTimeout(timer);
|
|
1506
|
+
timer = setTimeout(function () { return setActive(false); }, Math.max(0, 1000 - (event.duration || 0)));
|
|
1507
|
+
}
|
|
1508
|
+
});
|
|
1509
|
+
return function () {
|
|
1510
|
+
removeOnCall();
|
|
1511
|
+
removeOnResult();
|
|
1512
|
+
};
|
|
1513
|
+
}, [id]);
|
|
1514
|
+
return (React.createElement("div", { className: classNames(className, styles.DefaultNode, (_b = {},
|
|
1515
|
+
_b[styles.selected] = selected,
|
|
1516
|
+
_b[styles.active] = active,
|
|
1517
|
+
_b)) },
|
|
1518
|
+
React.createElement("div", { className: styles.Label }, label),
|
|
1519
|
+
children));
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1533
1522
|
function GenericNode(_a) {
|
|
1534
|
-
var id = _a.id, data = _a.data, selected = _a.selected, inputs = _a.inputs, outputs = _a.outputs, params = _a.params, children = _a.children
|
|
1523
|
+
var id = _a.id, data = _a.data, selected = _a.selected, inputs = _a.inputs, outputs = _a.outputs, params = _a.params, children = _a.children;
|
|
1535
1524
|
return (React.createElement(NodeContainer, { label: data.name, selected: selected, id: id },
|
|
1536
1525
|
children,
|
|
1537
1526
|
React.createElement("table", null,
|
|
1538
1527
|
React.createElement("tbody", null,
|
|
1539
|
-
Object.entries(outputs || {}).map(function (_a) {
|
|
1528
|
+
Object.entries(outputs || data.outputDefs || {}).map(function (_a) {
|
|
1540
1529
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
1541
1530
|
return (React.createElement(Output, { key: name, name: name, varDef: varDef, id: id }));
|
|
1542
1531
|
}),
|
|
1543
|
-
Object.entries(inputs || {}).map(function (_a) {
|
|
1532
|
+
Object.entries(inputs || data.inputDefs || {}).map(function (_a) {
|
|
1544
1533
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
1545
|
-
return (React.createElement(Input, { key: name, name: name, varDef: varDef, id: id, data: data
|
|
1534
|
+
return (React.createElement(Input, { key: name, name: name, varDef: varDef, id: id, data: data }));
|
|
1546
1535
|
}),
|
|
1547
|
-
Object.entries(params || {}).map(function (_a) {
|
|
1536
|
+
Object.entries(params || data.paramDefs || {}).map(function (_a) {
|
|
1548
1537
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
1549
|
-
return (React.createElement(Param, { key: name, name: name, varDef: varDef, id: id, data: data
|
|
1538
|
+
return (React.createElement(Param, { key: name, name: name, varDef: varDef, id: id, data: data }));
|
|
1550
1539
|
})))));
|
|
1551
1540
|
}
|
|
1552
1541
|
|
|
@@ -1569,15 +1558,9 @@ function MathView(_a) {
|
|
|
1569
1558
|
var Calc = React.memo(function (_a) {
|
|
1570
1559
|
var _b;
|
|
1571
1560
|
var id = _a.id, data = _a.data, selected = _a.selected;
|
|
1572
|
-
var engine = useEngine();
|
|
1573
|
-
var onChange = useChange();
|
|
1574
|
-
var calledFn = engine.getFunction(data.name);
|
|
1575
|
-
if (!calledFn) {
|
|
1576
|
-
return (React.createElement(NodeContainer, { label: "Function not found", selected: selected }));
|
|
1577
|
-
}
|
|
1578
1561
|
var expression = (((_b = data.params) === null || _b === void 0 ? void 0 : _b.expression) || "").toString();
|
|
1579
1562
|
// add free variables to inputs
|
|
1580
|
-
var inputs = __assign({}, (
|
|
1563
|
+
var inputs = __assign({}, (data.inputDefs || {}));
|
|
1581
1564
|
var symbols = getUnboundSymbols(expression);
|
|
1582
1565
|
symbols.forEach(function (symbol) {
|
|
1583
1566
|
if (!inputs[symbol]) {
|
|
@@ -1586,27 +1569,20 @@ var Calc = React.memo(function (_a) {
|
|
|
1586
1569
|
};
|
|
1587
1570
|
}
|
|
1588
1571
|
});
|
|
1589
|
-
return (React.createElement(GenericNode, { id: id, data: data, selected: selected, inputs: inputs
|
|
1572
|
+
return (React.createElement(GenericNode, { id: id, data: data, selected: selected, inputs: inputs },
|
|
1590
1573
|
React.createElement(MathView, { expr: expression, displayMode: true })));
|
|
1591
1574
|
});
|
|
1592
1575
|
Calc.displayName = "CalcNode";
|
|
1593
1576
|
|
|
1594
1577
|
var Default = React.memo(function (_a) {
|
|
1595
1578
|
var id = _a.id, data = _a.data, selected = _a.selected;
|
|
1596
|
-
|
|
1597
|
-
var onChange = useChange();
|
|
1598
|
-
var calledFn = engine.getFunction(data.name);
|
|
1599
|
-
if (!calledFn) {
|
|
1600
|
-
return (React.createElement(NodeContainer, { label: "Function not found", selected: selected }));
|
|
1601
|
-
}
|
|
1602
|
-
return (React.createElement(GenericNode, { id: id, data: data, selected: selected, inputs: calledFn.inputs, outputs: calledFn.outputs, params: calledFn.params, onChange: onChange }));
|
|
1579
|
+
return React.createElement(GenericNode, { id: id, data: data, selected: selected });
|
|
1603
1580
|
});
|
|
1604
1581
|
Default.displayName = "DefaultNode";
|
|
1605
1582
|
|
|
1606
1583
|
var Log = React.memo(function (_a) {
|
|
1607
1584
|
var id = _a.id, data = _a.data, selected = _a.selected;
|
|
1608
1585
|
var engine = useEngine();
|
|
1609
|
-
var calledFn = engine.getFunction(data.name);
|
|
1610
1586
|
var _b = __read(React.useState(null), 2), value = _b[0], setValue = _b[1];
|
|
1611
1587
|
React.useEffect(function () {
|
|
1612
1588
|
return engine.subscribe("functionResult", function (event) {
|
|
@@ -1616,9 +1592,6 @@ var Log = React.memo(function (_a) {
|
|
|
1616
1592
|
}
|
|
1617
1593
|
});
|
|
1618
1594
|
}, []);
|
|
1619
|
-
if (!calledFn) {
|
|
1620
|
-
return (React.createElement(NodeContainer, { label: "Function not found", selected: selected }));
|
|
1621
|
-
}
|
|
1622
1595
|
return (React.createElement(NodeContainer, { id: id, label: data.name, selected: selected, className: styles.Log },
|
|
1623
1596
|
React.createElement("div", { className: styles.Table },
|
|
1624
1597
|
React.createElement("table", null, Object.entries(value || {}).map(function (_a) {
|
|
@@ -1627,9 +1600,12 @@ var Log = React.memo(function (_a) {
|
|
|
1627
1600
|
React.createElement("tbody", null,
|
|
1628
1601
|
React.createElement("tr", null,
|
|
1629
1602
|
React.createElement("th", { colSpan: 2 }, "{".concat(key, "}"))),
|
|
1630
|
-
val.map(function (item, index) {
|
|
1631
|
-
|
|
1632
|
-
React.createElement("
|
|
1603
|
+
val.map(function (item, index) {
|
|
1604
|
+
var _a;
|
|
1605
|
+
return (React.createElement("tr", { key: "".concat(key, "-").concat(index) },
|
|
1606
|
+
React.createElement("td", null, index),
|
|
1607
|
+
React.createElement("td", { title: JSON.stringify(item, null, 2) }, (_a = item === null || item === void 0 ? void 0 : item.toString) === null || _a === void 0 ? void 0 : _a.call(item))));
|
|
1608
|
+
}))));
|
|
1633
1609
|
}))),
|
|
1634
1610
|
React.createElement(react.Handle, { type: "target", position: react.Position.Left, id: "".concat(id, "-data") }),
|
|
1635
1611
|
React.createElement(react.Handle, { type: "source", position: react.Position.Right, id: "".concat(id, "-data") })));
|
|
@@ -1641,19 +1617,13 @@ function uid() {
|
|
|
1641
1617
|
}
|
|
1642
1618
|
var Merge = React.memo(function (_a) {
|
|
1643
1619
|
var id = _a.id, data = _a.data, selected = _a.selected;
|
|
1644
|
-
var engine = useEngine();
|
|
1645
|
-
var onChange = useChange();
|
|
1646
|
-
var calledFn = engine.getFunction(data.name);
|
|
1647
|
-
if (!calledFn) {
|
|
1648
|
-
return (React.createElement(NodeContainer, { label: "Function not found", selected: selected }));
|
|
1649
|
-
}
|
|
1650
1620
|
var inputs = Object.fromEntries(Object.keys(data.inputs || {}).map(function (name, i) { return [
|
|
1651
1621
|
name,
|
|
1652
1622
|
{ type: "any", label: "D".concat(i + 1) },
|
|
1653
1623
|
]; }));
|
|
1654
1624
|
var inputCount = Object.keys(inputs).length;
|
|
1655
1625
|
inputs[uid()] = { type: "any", label: "D".concat(inputCount + 1) };
|
|
1656
|
-
var outputs = __assign({}, (
|
|
1626
|
+
var outputs = __assign({}, (data.outputDefs || {}));
|
|
1657
1627
|
return (React.createElement(NodeContainer, { label: data.name, selected: selected, id: id },
|
|
1658
1628
|
React.createElement("table", null,
|
|
1659
1629
|
React.createElement("tbody", null,
|
|
@@ -1663,7 +1633,7 @@ var Merge = React.memo(function (_a) {
|
|
|
1663
1633
|
}),
|
|
1664
1634
|
Object.entries(inputs || {}).map(function (_a) {
|
|
1665
1635
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
1666
|
-
return (React.createElement(Input, { key: name, name: name, varDef: varDef, id: id, data: data
|
|
1636
|
+
return (React.createElement(Input, { key: name, name: name, varDef: varDef, id: id, data: data }));
|
|
1667
1637
|
})))));
|
|
1668
1638
|
});
|
|
1669
1639
|
Merge.displayName = "MergeNode";
|
|
@@ -1737,9 +1707,29 @@ function useUpdatePositions(fn) {
|
|
|
1737
1707
|
function createGraph(fn, engine, positions, options) {
|
|
1738
1708
|
var nodes = [];
|
|
1739
1709
|
var edges = [];
|
|
1710
|
+
var handleChange = function (id) { return function (newData) {
|
|
1711
|
+
var _a;
|
|
1712
|
+
// console.log("handleChange", id, newData);
|
|
1713
|
+
options === null || options === void 0 ? void 0 : options.setNodes(function (nds) {
|
|
1714
|
+
return nds.map(function (node) {
|
|
1715
|
+
if (node.id === id) {
|
|
1716
|
+
// console.log("update node", id, newData);
|
|
1717
|
+
return __assign(__assign({}, node), { data: __assign(__assign({}, node.data), newData) });
|
|
1718
|
+
}
|
|
1719
|
+
return node;
|
|
1720
|
+
});
|
|
1721
|
+
});
|
|
1722
|
+
// update the function definition
|
|
1723
|
+
var body = __assign({}, fn.body);
|
|
1724
|
+
var fncall = __assign(__assign({}, (body[id] || {})), newData);
|
|
1725
|
+
body[id] = fncall;
|
|
1726
|
+
var updatedFn = __assign(__assign({}, fn), { body: body });
|
|
1727
|
+
(_a = options === null || options === void 0 ? void 0 : options.onChange) === null || _a === void 0 ? void 0 : _a.call(options, updatedFn);
|
|
1728
|
+
// console.log("updated call", fncall);
|
|
1729
|
+
}; };
|
|
1740
1730
|
Object.entries(fn.body || {}).forEach(function (_a, index) {
|
|
1741
1731
|
var _b = __read(_a, 2), id = _b[0], fncall = _b[1];
|
|
1742
|
-
var
|
|
1732
|
+
var calledFn = engine.getFunction(fncall.name);
|
|
1743
1733
|
// create a node for each function call
|
|
1744
1734
|
nodes.push({
|
|
1745
1735
|
id: id,
|
|
@@ -1748,10 +1738,14 @@ function createGraph(fn, engine, positions, options) {
|
|
|
1748
1738
|
caller: fn,
|
|
1749
1739
|
inputs: fncall.inputs,
|
|
1750
1740
|
params: fncall.params,
|
|
1741
|
+
inputDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.inputs) || {},
|
|
1742
|
+
paramDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.params) || {},
|
|
1743
|
+
outputDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.outputs) || {},
|
|
1744
|
+
onChange: handleChange(id),
|
|
1751
1745
|
},
|
|
1752
1746
|
position: (positions === null || positions === void 0 ? void 0 : positions[id]) || { x: 250 * index, y: 0 },
|
|
1753
1747
|
dragHandle: options === null || options === void 0 ? void 0 : options.dragHandle,
|
|
1754
|
-
type: (
|
|
1748
|
+
type: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.nodeType) || "Default",
|
|
1755
1749
|
});
|
|
1756
1750
|
var refs = getReferences(fncall.inputs || {});
|
|
1757
1751
|
refs.forEach(function (ref) {
|
|
@@ -1769,30 +1763,35 @@ function createGraph(fn, engine, positions, options) {
|
|
|
1769
1763
|
}
|
|
1770
1764
|
function useFlow(fn, engine, options) {
|
|
1771
1765
|
var _a = __read(usePositions(fn), 1), positions = _a[0];
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1766
|
+
React.useEffect(function () {
|
|
1767
|
+
var _a = createGraph(fn, engine, positions, options), nodes = _a.nodes, edges = _a.edges;
|
|
1768
|
+
options.setNodes(nodes);
|
|
1769
|
+
options.setEdges(edges);
|
|
1770
|
+
}, [engine]);
|
|
1775
1771
|
}
|
|
1776
1772
|
|
|
1777
1773
|
function FlowInner(_a) {
|
|
1778
1774
|
var fn = _a.function, engine = _a.engine, onChange = _a.onChange, onClick = _a.onClick, onSelect = _a.onSelect;
|
|
1779
1775
|
var _b = __read(React.useState(null), 2), instance = _b[0], setInstance = _b[1];
|
|
1780
1776
|
var updatePositions = useUpdatePositions(fn);
|
|
1781
|
-
var _c =
|
|
1777
|
+
var _c = __read(react.useNodesState([]), 3), nodes = _c[0], setNodes = _c[1], onNodesChange = _c[2];
|
|
1778
|
+
var _d = __read(react.useEdgesState([]), 3), edges = _d[0], setEdges = _d[1], onEdgesChange = _d[2];
|
|
1779
|
+
useFlow(fn, engine, {
|
|
1782
1780
|
dragHandle: ".".concat(styles.Label),
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1781
|
+
setNodes: setNodes,
|
|
1782
|
+
setEdges: setEdges,
|
|
1783
|
+
onChange: onChange,
|
|
1784
|
+
});
|
|
1786
1785
|
// node selection handler
|
|
1787
1786
|
var handleChange = React.useCallback(function (_a) {
|
|
1788
|
-
var nodes = _a.nodes
|
|
1789
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodes
|
|
1787
|
+
var nodes = _a.nodes;
|
|
1788
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodes.map(function (n) { return n.id; }) || []);
|
|
1790
1789
|
}, [onSelect]);
|
|
1791
1790
|
react.useOnSelectionChange({
|
|
1792
1791
|
onChange: handleChange,
|
|
1793
1792
|
});
|
|
1794
1793
|
// dropping nodes
|
|
1795
|
-
var
|
|
1794
|
+
var _e = __read(reactDnd.useDrop({
|
|
1796
1795
|
accept: "flow-node",
|
|
1797
1796
|
drop: function (item, monitor) {
|
|
1798
1797
|
var pos = monitor.getClientOffset();
|
|
@@ -1809,19 +1808,9 @@ function FlowInner(_a) {
|
|
|
1809
1808
|
isOver: monitor.isOver(),
|
|
1810
1809
|
};
|
|
1811
1810
|
},
|
|
1812
|
-
}), 2);
|
|
1811
|
+
}), 2); _e[0].isOver; var drop = _e[1];
|
|
1813
1812
|
// useLayoutNodes();
|
|
1814
1813
|
var updatePosition = useUpdatePositions(fn);
|
|
1815
|
-
var onNodesChange = React.useCallback(function (changes) {
|
|
1816
|
-
return setNodes(function (nodesSnapshot) {
|
|
1817
|
-
return react.applyNodeChanges(changes, nodesSnapshot);
|
|
1818
|
-
});
|
|
1819
|
-
}, [setNodes]);
|
|
1820
|
-
var onEdgesChange = React.useCallback(function (changes) {
|
|
1821
|
-
return setEdges(function (edgesSnapshot) {
|
|
1822
|
-
return react.applyEdgeChanges(changes, edgesSnapshot);
|
|
1823
|
-
});
|
|
1824
|
-
}, [setEdges]);
|
|
1825
1814
|
var onConnect = React.useCallback(function (params) {
|
|
1826
1815
|
var _a, _b;
|
|
1827
1816
|
var sourceField = (_a = params.sourceHandle) === null || _a === void 0 ? void 0 : _a.split("-")[1];
|
|
@@ -1879,9 +1868,8 @@ function FlowInner(_a) {
|
|
|
1879
1868
|
function Flow(_a) {
|
|
1880
1869
|
var fn = _a.function, engine = _a.engine, _b = _a.onChange, onChange = _b === void 0 ? function () { } : _b, onClick = _a.onClick, onSelect = _a.onSelect;
|
|
1881
1870
|
return (React.createElement(EngineContext.Provider, { value: engine },
|
|
1882
|
-
React.createElement(
|
|
1883
|
-
React.createElement(
|
|
1884
|
-
React.createElement(FlowInner, { function: fn, engine: engine, onChange: onChange, onClick: onClick, onSelect: onSelect })))));
|
|
1871
|
+
React.createElement(react.ReactFlowProvider, null,
|
|
1872
|
+
React.createElement(FlowInner, { function: fn, engine: engine, onChange: onChange, onClick: onClick, onSelect: onSelect }))));
|
|
1885
1873
|
}
|
|
1886
1874
|
|
|
1887
1875
|
function useDraggableNode(name, fn) {
|