@babylonjs/node-editor 5.0.0-rc.1 → 5.0.0-rc.4
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/babylon.nodeEditor.max.js +300 -266
- package/babylon.nodeEditor.max.js.map +1 -1
- package/babylon.nodeEditor.module.d.ts +64 -69
- package/package.json +2 -2
|
@@ -10021,7 +10021,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10021
10021
|
|
|
10022
10022
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
10023
10023
|
// Module
|
|
10024
|
-
___CSS_LOADER_EXPORT___.push([module.i, "#nme-log-console {\n background: #333333;\n height: 120px;\n box-sizing: border-box;\n margin: 0;\n padding: 10px;\n width: 100%;\n overflow: hidden;\n overflow-y: auto; }\n #nme-log-console .log {\n color: white;\n font-size: 14px;\n font-family: 'Courier New', Courier, monospace; }\n #nme-log-console .log.error {\n color: red; }\n", "",{"version":3,"sources":["webpack://./components/log/log.scss"],"names":[],"mappings":"AAAA;EACI,mBAAmB;EACnB,aAAa;EACb,sBAAsB;EACtB,SAAS;EACT,aAAa;EACb,WAAW;EACX,gBAAgB;EAChB,gBAAgB,EAAA;
|
|
10024
|
+
___CSS_LOADER_EXPORT___.push([module.i, "#nme-log-console {\n background: #333333;\n height: 120px;\n box-sizing: border-box;\n margin: 0;\n padding: 10px;\n width: 100%;\n overflow: hidden;\n overflow-y: auto;\n grid-row: 2;\n grid-column: 3; }\n #nme-log-console .log {\n color: white;\n font-size: 14px;\n font-family: 'Courier New', Courier, monospace; }\n #nme-log-console .log.error {\n color: red; }\n", "",{"version":3,"sources":["webpack://./components/log/log.scss"],"names":[],"mappings":"AAAA;EACI,mBAAmB;EACnB,aAAa;EACb,sBAAsB;EACtB,SAAS;EACT,aAAa;EACb,WAAW;EACX,gBAAgB;EAChB,gBAAgB;EAChB,WAAW;EACX,cAAc,EAAA;EAVlB;IAaQ,YAAY;IACZ,eAAe;IACf,8CAA8C,EAAA;IAftD;MAkBY,UAAS,EAAA","sourcesContent":["#nme-log-console {\r\n background: #333333;\r\n height: 120px;\r\n box-sizing: border-box;\r\n margin: 0;\r\n padding: 10px;\r\n width: 100%; \r\n overflow: hidden;\r\n overflow-y: auto;\r\n grid-row: 2;\r\n grid-column: 3;\r\n\r\n .log {\r\n color: white;\r\n font-size: 14px;\r\n font-family: 'Courier New', Courier, monospace;\r\n\r\n &.error {\r\n color:red;\r\n }\r\n }\r\n}"],"sourceRoot":""}]);
|
|
10025
10025
|
// Exports
|
|
10026
10026
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
10027
10027
|
|
|
@@ -55645,6 +55645,7 @@ var LogEntry = /** @class */ (function () {
|
|
|
55645
55645
|
function LogEntry(message, isError) {
|
|
55646
55646
|
this.message = message;
|
|
55647
55647
|
this.isError = isError;
|
|
55648
|
+
this.time = new Date();
|
|
55648
55649
|
}
|
|
55649
55650
|
return LogEntry;
|
|
55650
55651
|
}());
|
|
@@ -55672,12 +55673,8 @@ var LogComponent = /** @class */ (function (_super) {
|
|
|
55672
55673
|
logConsole.scrollTop = logConsole.scrollHeight;
|
|
55673
55674
|
};
|
|
55674
55675
|
LogComponent.prototype.render = function () {
|
|
55675
|
-
var today = new Date();
|
|
55676
|
-
var h = today.getHours();
|
|
55677
|
-
var m = today.getMinutes();
|
|
55678
|
-
var s = today.getSeconds();
|
|
55679
55676
|
return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "nme-log-console", ref: "log-console" }, this.state.logs.map(function (l, i) {
|
|
55680
|
-
return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: i, className: "log" + (l.isError ? " error" : "") },
|
|
55677
|
+
return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: i, className: "log" + (l.isError ? " error" : "") }, l.time.getHours() + ":" + l.time.getMinutes() + ":" + l.time.getSeconds() + ": " + l.message));
|
|
55681
55678
|
})));
|
|
55682
55679
|
};
|
|
55683
55680
|
return LogComponent;
|
|
@@ -57505,6 +57502,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
57505
57502
|
/* harmony import */ var _preview_previewType__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../preview/previewType */ "./components/preview/previewType.ts");
|
|
57506
57503
|
/* harmony import */ var _sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../sharedComponents/textInputLineComponent */ "./sharedComponents/textInputLineComponent.tsx");
|
|
57507
57504
|
/* harmony import */ var _inputsPropertyTabComponent__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./inputsPropertyTabComponent */ "./components/propertyTab/inputsPropertyTabComponent.tsx");
|
|
57505
|
+
/* harmony import */ var _log_logComponent__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../log/logComponent */ "./components/log/logComponent.tsx");
|
|
57506
|
+
|
|
57508
57507
|
|
|
57509
57508
|
|
|
57510
57509
|
|
|
@@ -57550,7 +57549,8 @@ var PropertyTabComponent = /** @class */ (function (_super) {
|
|
|
57550
57549
|
}
|
|
57551
57550
|
PropertyTabComponent.prototype.componentDidMount = function () {
|
|
57552
57551
|
var _this = this;
|
|
57553
|
-
this.props.globalState.onSelectionChangedObservable.add(function (
|
|
57552
|
+
this.props.globalState.onSelectionChangedObservable.add(function (options) {
|
|
57553
|
+
var selection = (options || {}).selection;
|
|
57554
57554
|
if (selection instanceof _diagram_graphNode__WEBPACK_IMPORTED_MODULE_9__["GraphNode"]) {
|
|
57555
57555
|
_this.setState({ currentNode: selection, currentFrame: null, currentFrameNodePort: null, currentNodePort: null });
|
|
57556
57556
|
}
|
|
@@ -57631,15 +57631,15 @@ var PropertyTabComponent = /** @class */ (function (_super) {
|
|
|
57631
57631
|
PropertyTabComponent.prototype.customSave = function () {
|
|
57632
57632
|
var _this = this;
|
|
57633
57633
|
this.setState({ uploadInProgress: true });
|
|
57634
|
-
this.props.globalState.onLogRequiredObservable.notifyObservers(
|
|
57634
|
+
this.props.globalState.onLogRequiredObservable.notifyObservers(new _log_logComponent__WEBPACK_IMPORTED_MODULE_28__["LogEntry"]("Saving your material to Babylon.js snippet server...", false));
|
|
57635
57635
|
this.props.globalState
|
|
57636
57636
|
.customSave.action(_serializationTools__WEBPACK_IMPORTED_MODULE_7__["SerializationTools"].Serialize(this.props.globalState.nodeMaterial, this.props.globalState))
|
|
57637
57637
|
.then(function () {
|
|
57638
|
-
_this.props.globalState.onLogRequiredObservable.notifyObservers(
|
|
57638
|
+
_this.props.globalState.onLogRequiredObservable.notifyObservers(new _log_logComponent__WEBPACK_IMPORTED_MODULE_28__["LogEntry"]("Material saved successfully", false));
|
|
57639
57639
|
_this.setState({ uploadInProgress: false });
|
|
57640
57640
|
})
|
|
57641
57641
|
.catch(function (err) {
|
|
57642
|
-
_this.props.globalState.onLogRequiredObservable.notifyObservers(
|
|
57642
|
+
_this.props.globalState.onLogRequiredObservable.notifyObservers(new _log_logComponent__WEBPACK_IMPORTED_MODULE_28__["LogEntry"](err, true));
|
|
57643
57643
|
_this.setState({ uploadInProgress: false });
|
|
57644
57644
|
});
|
|
57645
57645
|
};
|
|
@@ -58632,7 +58632,8 @@ var FrameNodePort = /** @class */ (function (_super) {
|
|
|
58632
58632
|
_this._parentFrameId = parentFrameId;
|
|
58633
58633
|
_this._isInput = isInput;
|
|
58634
58634
|
_this._framePortId = framePortId;
|
|
58635
|
-
_this._onSelectionChangedObserver = _this._globalState.onSelectionChangedObservable.add(function (
|
|
58635
|
+
_this._onSelectionChangedObserver = _this._globalState.onSelectionChangedObservable.add(function (options) {
|
|
58636
|
+
var selection = (options || {}).selection;
|
|
58636
58637
|
if (Object(_graphCanvas__WEBPACK_IMPORTED_MODULE_3__["isFramePortData"])(selection) && selection.port === _this) {
|
|
58637
58638
|
_this._img.classList.add("selected");
|
|
58638
58639
|
}
|
|
@@ -58779,8 +58780,9 @@ var isFramePortData = function (variableToCheck) {
|
|
|
58779
58780
|
if (variableToCheck) {
|
|
58780
58781
|
return variableToCheck.port !== undefined;
|
|
58781
58782
|
}
|
|
58782
|
-
else
|
|
58783
|
+
else {
|
|
58783
58784
|
return false;
|
|
58785
|
+
}
|
|
58784
58786
|
};
|
|
58785
58787
|
var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
58786
58788
|
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GraphCanvasComponent, _super);
|
|
@@ -58807,7 +58809,7 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
|
58807
58809
|
_this._candidatePort = null;
|
|
58808
58810
|
_this._gridSize = 20;
|
|
58809
58811
|
_this._selectionBox = null;
|
|
58810
|
-
_this.
|
|
58812
|
+
_this._selectedFrames = [];
|
|
58811
58813
|
_this._frameCandidate = null;
|
|
58812
58814
|
_this._frames = [];
|
|
58813
58815
|
_this._altKeyIsPressed = false;
|
|
@@ -58815,45 +58817,64 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
|
58815
58817
|
_this._oldY = -1;
|
|
58816
58818
|
_this._frameIsMoving = false;
|
|
58817
58819
|
_this._isLoading = false;
|
|
58818
|
-
props.globalState.onSelectionChangedObservable.add(function (
|
|
58820
|
+
props.globalState.onSelectionChangedObservable.add(function (options) {
|
|
58821
|
+
var _b = options || {}, selection = _b.selection, forceKeepSelection = _b.forceKeepSelection;
|
|
58819
58822
|
if (!selection) {
|
|
58820
58823
|
_this._selectedNodes = [];
|
|
58821
58824
|
_this._selectedLink = null;
|
|
58822
|
-
_this.
|
|
58825
|
+
_this._selectedFrames = [];
|
|
58823
58826
|
_this._selectedPort = null;
|
|
58824
58827
|
}
|
|
58825
58828
|
else {
|
|
58826
58829
|
if (selection instanceof _nodeLink__WEBPACK_IMPORTED_MODULE_5__["NodeLink"]) {
|
|
58827
58830
|
_this._selectedNodes = [];
|
|
58828
|
-
_this.
|
|
58831
|
+
_this._selectedFrames = [];
|
|
58829
58832
|
_this._selectedLink = selection;
|
|
58830
58833
|
_this._selectedPort = null;
|
|
58831
58834
|
}
|
|
58832
58835
|
else if (selection instanceof _graphFrame__WEBPACK_IMPORTED_MODULE_7__["GraphFrame"]) {
|
|
58833
|
-
|
|
58834
|
-
|
|
58835
|
-
|
|
58836
|
-
|
|
58836
|
+
if (selection.isCollapsed) {
|
|
58837
|
+
if (_this._ctrlKeyIsPressed || forceKeepSelection) {
|
|
58838
|
+
if (_this._selectedFrames.indexOf(selection) === -1) {
|
|
58839
|
+
_this._selectedFrames.push(selection);
|
|
58840
|
+
}
|
|
58841
|
+
}
|
|
58842
|
+
else {
|
|
58843
|
+
_this._selectedFrames = [selection];
|
|
58844
|
+
_this._selectedNodes = [];
|
|
58845
|
+
_this._selectedLink = null;
|
|
58846
|
+
_this._selectedPort = null;
|
|
58847
|
+
}
|
|
58848
|
+
}
|
|
58849
|
+
else {
|
|
58850
|
+
_this._selectedNodes = [];
|
|
58851
|
+
_this._selectedFrames = [selection];
|
|
58852
|
+
_this._selectedLink = null;
|
|
58853
|
+
_this._selectedPort = null;
|
|
58854
|
+
}
|
|
58837
58855
|
}
|
|
58838
58856
|
else if (selection instanceof _graphNode__WEBPACK_IMPORTED_MODULE_3__["GraphNode"]) {
|
|
58839
|
-
if (_this._ctrlKeyIsPressed) {
|
|
58857
|
+
if (_this._ctrlKeyIsPressed || forceKeepSelection) {
|
|
58840
58858
|
if (_this._selectedNodes.indexOf(selection) === -1) {
|
|
58841
58859
|
_this._selectedNodes.push(selection);
|
|
58842
58860
|
}
|
|
58843
58861
|
}
|
|
58844
58862
|
else {
|
|
58845
58863
|
_this._selectedNodes = [selection];
|
|
58864
|
+
_this._selectedFrames = [];
|
|
58865
|
+
_this._selectedLink = null;
|
|
58866
|
+
_this._selectedPort = null;
|
|
58846
58867
|
}
|
|
58847
58868
|
}
|
|
58848
58869
|
else if (selection instanceof _nodePort__WEBPACK_IMPORTED_MODULE_6__["NodePort"]) {
|
|
58849
58870
|
_this._selectedNodes = [];
|
|
58850
|
-
_this.
|
|
58871
|
+
_this._selectedFrames = [];
|
|
58851
58872
|
_this._selectedLink = null;
|
|
58852
58873
|
_this._selectedPort = selection;
|
|
58853
58874
|
}
|
|
58854
58875
|
else {
|
|
58855
58876
|
_this._selectedNodes = [];
|
|
58856
|
-
_this.
|
|
58877
|
+
_this._selectedFrames = [];
|
|
58857
58878
|
_this._selectedLink = null;
|
|
58858
58879
|
_this._selectedPort = selection.port;
|
|
58859
58880
|
}
|
|
@@ -58981,9 +59002,9 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
|
58981
59002
|
enumerable: false,
|
|
58982
59003
|
configurable: true
|
|
58983
59004
|
});
|
|
58984
|
-
Object.defineProperty(GraphCanvasComponent.prototype, "
|
|
59005
|
+
Object.defineProperty(GraphCanvasComponent.prototype, "selectedFrames", {
|
|
58985
59006
|
get: function () {
|
|
58986
|
-
return this.
|
|
59007
|
+
return this._selectedFrames;
|
|
58987
59008
|
},
|
|
58988
59009
|
enumerable: false,
|
|
58989
59010
|
configurable: true
|
|
@@ -59359,11 +59380,11 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
|
59359
59380
|
frame: frame,
|
|
59360
59381
|
port: port_1,
|
|
59361
59382
|
};
|
|
59362
|
-
this.props.globalState.onSelectionChangedObservable.notifyObservers(data);
|
|
59383
|
+
this.props.globalState.onSelectionChangedObservable.notifyObservers({ selection: data });
|
|
59363
59384
|
}
|
|
59364
59385
|
}
|
|
59365
59386
|
else if (this._candidateLink.portA instanceof _nodePort__WEBPACK_IMPORTED_MODULE_6__["NodePort"]) {
|
|
59366
|
-
this.props.globalState.onSelectionChangedObservable.notifyObservers(this._candidateLink.portA);
|
|
59387
|
+
this.props.globalState.onSelectionChangedObservable.notifyObservers({ selection: this._candidateLink.portA });
|
|
59367
59388
|
}
|
|
59368
59389
|
}
|
|
59369
59390
|
this._candidateLink.dispose();
|
|
@@ -59379,7 +59400,7 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
|
59379
59400
|
this._frames.push(newFrame);
|
|
59380
59401
|
this._frameCandidate.parentElement.removeChild(this._frameCandidate);
|
|
59381
59402
|
this._frameCandidate = null;
|
|
59382
|
-
this.props.globalState.onSelectionChangedObservable.notifyObservers(newFrame);
|
|
59403
|
+
this.props.globalState.onSelectionChangedObservable.notifyObservers({ selection: newFrame });
|
|
59383
59404
|
}
|
|
59384
59405
|
};
|
|
59385
59406
|
GraphCanvasComponent.prototype.onWheel = function (evt) {
|
|
@@ -59571,6 +59592,14 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
|
59571
59592
|
});
|
|
59572
59593
|
});
|
|
59573
59594
|
}
|
|
59595
|
+
this.connectNodes(nodeA, pointA, nodeB, pointB);
|
|
59596
|
+
linksToNotifyForDispose === null || linksToNotifyForDispose === void 0 ? void 0 : linksToNotifyForDispose.forEach(function (link) {
|
|
59597
|
+
link.onDisposedObservable.notifyObservers(link);
|
|
59598
|
+
link.onDisposedObservable.clear();
|
|
59599
|
+
});
|
|
59600
|
+
this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
|
|
59601
|
+
};
|
|
59602
|
+
GraphCanvasComponent.prototype.connectNodes = function (nodeA, pointA, nodeB, pointB) {
|
|
59574
59603
|
pointA.connectTo(pointB);
|
|
59575
59604
|
this.connectPorts(pointA, pointB);
|
|
59576
59605
|
// Need to potentially propagate the type of pointA to other ports of blocks connected to owner of pointB
|
|
@@ -59578,11 +59607,6 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
|
59578
59607
|
var visitedNodes = new Set([nodeA]);
|
|
59579
59608
|
var visitedLinks = new Set([nodeB.links[nodeB.links.length - 1]]);
|
|
59580
59609
|
GraphCanvasComponent._RefreshNode(nodeB, visitedNodes, visitedLinks);
|
|
59581
|
-
linksToNotifyForDispose === null || linksToNotifyForDispose === void 0 ? void 0 : linksToNotifyForDispose.forEach(function (link) {
|
|
59582
|
-
link.onDisposedObservable.notifyObservers(link);
|
|
59583
|
-
link.onDisposedObservable.clear();
|
|
59584
|
-
});
|
|
59585
|
-
this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
|
|
59586
59610
|
};
|
|
59587
59611
|
GraphCanvasComponent.prototype.processEditorData = function (editorData) {
|
|
59588
59612
|
var frames = this._frames.splice(0);
|
|
@@ -59606,7 +59630,7 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
|
|
|
59606
59630
|
GraphCanvasComponent.prototype.addFrame = function (frameData) {
|
|
59607
59631
|
var frame = _graphFrame__WEBPACK_IMPORTED_MODULE_7__["GraphFrame"].Parse(frameData, this, this.props.globalState.nodeMaterial.editorData.map);
|
|
59608
59632
|
this._frames.push(frame);
|
|
59609
|
-
this.globalState.onSelectionChangedObservable.notifyObservers(frame);
|
|
59633
|
+
this.globalState.onSelectionChangedObservable.notifyObservers({ selection: frame });
|
|
59610
59634
|
};
|
|
59611
59635
|
GraphCanvasComponent.prototype.render = function () {
|
|
59612
59636
|
var _this = this;
|
|
@@ -60244,14 +60268,24 @@ var GraphFrame = /** @class */ (function () {
|
|
|
60244
60268
|
this._headerTextElement.addEventListener("pointerdown", function (evt) { return _this_1._onDown(evt); });
|
|
60245
60269
|
this._headerTextElement.addEventListener("pointerup", function (evt) { return _this_1._onUp(evt); });
|
|
60246
60270
|
this._headerTextElement.addEventListener("pointermove", function (evt) { return _this_1._onMove(evt); });
|
|
60247
|
-
this._onSelectionChangedObserver = canvas.globalState.onSelectionChangedObservable.add(function (
|
|
60248
|
-
if (
|
|
60271
|
+
this._onSelectionChangedObserver = canvas.globalState.onSelectionChangedObservable.add(function (options) {
|
|
60272
|
+
if (_this_1._ownerCanvas.selectedFrames.indexOf(_this_1) !== -1) {
|
|
60249
60273
|
_this_1.element.classList.add("selected");
|
|
60250
60274
|
}
|
|
60251
60275
|
else {
|
|
60252
60276
|
_this_1.element.classList.remove("selected");
|
|
60253
60277
|
}
|
|
60254
60278
|
});
|
|
60279
|
+
canvas.globalState.onSelectionBoxMoved.add(function (rect1) {
|
|
60280
|
+
var rect2 = _this_1.element.getBoundingClientRect();
|
|
60281
|
+
var overlap = !(rect1.right < rect2.left ||
|
|
60282
|
+
rect1.left > rect2.right ||
|
|
60283
|
+
rect1.bottom < rect2.top ||
|
|
60284
|
+
rect1.top > rect2.bottom);
|
|
60285
|
+
if (overlap) {
|
|
60286
|
+
canvas.globalState.onSelectionChangedObservable.notifyObservers({ selection: _this_1, forceKeepSelection: true });
|
|
60287
|
+
}
|
|
60288
|
+
});
|
|
60255
60289
|
this._onGraphNodeRemovalObserver = canvas.globalState.onGraphNodeRemovalObservable.add(function (node) {
|
|
60256
60290
|
// remove node from this._nodes
|
|
60257
60291
|
var index = _this_1._nodes.indexOf(node);
|
|
@@ -60746,13 +60780,19 @@ var GraphFrame = /** @class */ (function () {
|
|
|
60746
60780
|
this.y = this._ownerCanvas.getGridPosition(this.y);
|
|
60747
60781
|
};
|
|
60748
60782
|
GraphFrame.prototype._onDown = function (evt) {
|
|
60749
|
-
evt.stopPropagation();
|
|
60750
|
-
this._mouseStartPointX = evt.clientX;
|
|
60751
|
-
this._mouseStartPointY = evt.clientY;
|
|
60752
60783
|
this._headerTextElement.setPointerCapture(evt.pointerId);
|
|
60753
|
-
this._ownerCanvas.
|
|
60784
|
+
var indexInSelection = this._ownerCanvas.selectedFrames.indexOf(this);
|
|
60785
|
+
if (indexInSelection === -1) {
|
|
60786
|
+
this._ownerCanvas.globalState.onSelectionChangedObservable.notifyObservers({ selection: this });
|
|
60787
|
+
}
|
|
60788
|
+
else if (evt.ctrlKey) {
|
|
60789
|
+
this._ownerCanvas.selectedFrames.splice(indexInSelection, 1);
|
|
60790
|
+
this.element.classList.remove("selected");
|
|
60791
|
+
}
|
|
60754
60792
|
this._ownerCanvas._frameIsMoving = true;
|
|
60755
|
-
this.
|
|
60793
|
+
this._mouseStartPointX = evt.clientX;
|
|
60794
|
+
this._mouseStartPointY = evt.clientY;
|
|
60795
|
+
evt.stopPropagation();
|
|
60756
60796
|
};
|
|
60757
60797
|
GraphFrame.prototype.move = function (newX, newY, align) {
|
|
60758
60798
|
if (align === void 0) { align = true; }
|
|
@@ -60792,7 +60832,15 @@ var GraphFrame = /** @class */ (function () {
|
|
|
60792
60832
|
}
|
|
60793
60833
|
var newX = (evt.clientX - this._mouseStartPointX) / this._ownerCanvas.zoom;
|
|
60794
60834
|
var newY = (evt.clientY - this._mouseStartPointY) / this._ownerCanvas.zoom;
|
|
60795
|
-
|
|
60835
|
+
for (var _i = 0, _a = this._ownerCanvas.selectedFrames; _i < _a.length; _i++) {
|
|
60836
|
+
var frame = _a[_i];
|
|
60837
|
+
frame._moveFrame(newX, newY);
|
|
60838
|
+
}
|
|
60839
|
+
for (var _b = 0, _c = this._ownerCanvas.selectedNodes; _b < _c.length; _b++) {
|
|
60840
|
+
var node = _c[_b];
|
|
60841
|
+
node.x += newX;
|
|
60842
|
+
node.y += newY;
|
|
60843
|
+
}
|
|
60796
60844
|
this._mouseStartPointX = evt.clientX;
|
|
60797
60845
|
this._mouseStartPointY = evt.clientY;
|
|
60798
60846
|
evt.stopPropagation();
|
|
@@ -61106,7 +61154,8 @@ var GraphNode = /** @class */ (function () {
|
|
|
61106
61154
|
this._isVisible = true;
|
|
61107
61155
|
this._enclosingFrameId = -1;
|
|
61108
61156
|
this._globalState = globalState;
|
|
61109
|
-
this._onSelectionChangedObserver = this._globalState.onSelectionChangedObservable.add(function (
|
|
61157
|
+
this._onSelectionChangedObserver = this._globalState.onSelectionChangedObservable.add(function (options) {
|
|
61158
|
+
var node = (options || {}).selection;
|
|
61110
61159
|
if (node === _this) {
|
|
61111
61160
|
_this._visual.classList.add("selected");
|
|
61112
61161
|
}
|
|
@@ -61285,7 +61334,7 @@ var GraphNode = /** @class */ (function () {
|
|
|
61285
61334
|
}
|
|
61286
61335
|
}
|
|
61287
61336
|
else {
|
|
61288
|
-
this._globalState.onSelectionChangedObservable.notifyObservers(this);
|
|
61337
|
+
this._globalState.onSelectionChangedObservable.notifyObservers({ selection: this });
|
|
61289
61338
|
}
|
|
61290
61339
|
},
|
|
61291
61340
|
enumerable: false,
|
|
@@ -61401,7 +61450,7 @@ var GraphNode = /** @class */ (function () {
|
|
|
61401
61450
|
}
|
|
61402
61451
|
var indexInSelection = this._ownerCanvas.selectedNodes.indexOf(this);
|
|
61403
61452
|
if (indexInSelection === -1) {
|
|
61404
|
-
this._globalState.onSelectionChangedObservable.notifyObservers(this);
|
|
61453
|
+
this._globalState.onSelectionChangedObservable.notifyObservers({ selection: this });
|
|
61405
61454
|
}
|
|
61406
61455
|
else if (evt.ctrlKey) {
|
|
61407
61456
|
this.isSelected = false;
|
|
@@ -61441,6 +61490,10 @@ var GraphNode = /** @class */ (function () {
|
|
|
61441
61490
|
selectedNode.x += newX;
|
|
61442
61491
|
selectedNode.y += newY;
|
|
61443
61492
|
}
|
|
61493
|
+
for (var _b = 0, _c = this._ownerCanvas.selectedFrames; _b < _c.length; _b++) {
|
|
61494
|
+
var frame = _c[_b];
|
|
61495
|
+
frame._moveFrame(newX, newY);
|
|
61496
|
+
}
|
|
61444
61497
|
this._mouseStartPointX = evt.clientX;
|
|
61445
61498
|
this._mouseStartPointY = evt.clientY;
|
|
61446
61499
|
evt.stopPropagation();
|
|
@@ -61589,12 +61642,13 @@ var NodeLink = /** @class */ (function () {
|
|
|
61589
61642
|
this._selectionPath.setAttribute("fill", "none");
|
|
61590
61643
|
this._selectionPath.classList.add("selection-link");
|
|
61591
61644
|
svg.appendChild(this._selectionPath);
|
|
61592
|
-
this._selectionPath.onmousedown = function () { return _this.onClick(); };
|
|
61645
|
+
this._selectionPath.onmousedown = function (evt) { return _this.onClick(evt); };
|
|
61593
61646
|
if (this._portB) {
|
|
61594
61647
|
// Update
|
|
61595
61648
|
this.update();
|
|
61596
61649
|
}
|
|
61597
|
-
this._onSelectionChangedObserver = this._graphCanvas.globalState.onSelectionChangedObservable.add(function (
|
|
61650
|
+
this._onSelectionChangedObserver = this._graphCanvas.globalState.onSelectionChangedObservable.add(function (options) {
|
|
61651
|
+
var selection = (options || {}).selection;
|
|
61598
61652
|
if (selection === _this) {
|
|
61599
61653
|
_this._path.classList.add("selected");
|
|
61600
61654
|
_this._selectionPath.classList.add("selected");
|
|
@@ -61682,8 +61736,32 @@ var NodeLink = /** @class */ (function () {
|
|
|
61682
61736
|
}
|
|
61683
61737
|
this._path.setAttribute("stroke", this._portA.element.style.backgroundColor);
|
|
61684
61738
|
};
|
|
61685
|
-
NodeLink.prototype.onClick = function () {
|
|
61686
|
-
this
|
|
61739
|
+
NodeLink.prototype.onClick = function (evt) {
|
|
61740
|
+
var _this = this;
|
|
61741
|
+
if (evt.altKey) {
|
|
61742
|
+
// Create an elbow at the clicked location
|
|
61743
|
+
this._graphCanvas.globalState.onNewNodeCreatedObservable.addOnce(function (newNode) {
|
|
61744
|
+
var newElbowBlock = newNode.block;
|
|
61745
|
+
var nodeA = _this._nodeA;
|
|
61746
|
+
var pointA = _this._portA.connectionPoint;
|
|
61747
|
+
var nodeB = _this._nodeB;
|
|
61748
|
+
var pointB = _this._portB.connectionPoint;
|
|
61749
|
+
// Delete previous link
|
|
61750
|
+
_this.dispose();
|
|
61751
|
+
// Connect to Elbow block
|
|
61752
|
+
_this._graphCanvas.connectNodes(nodeA, pointA, newNode, newElbowBlock.input);
|
|
61753
|
+
_this._graphCanvas.connectNodes(newNode, newElbowBlock.output, nodeB, pointB);
|
|
61754
|
+
_this._graphCanvas.globalState.onRebuildRequiredObservable.notifyObservers(true);
|
|
61755
|
+
});
|
|
61756
|
+
this._graphCanvas.globalState.onNewBlockRequiredObservable.notifyObservers({
|
|
61757
|
+
type: "ElbowBlock",
|
|
61758
|
+
targetX: evt.clientX,
|
|
61759
|
+
targetY: evt.clientY,
|
|
61760
|
+
needRepositioning: true
|
|
61761
|
+
});
|
|
61762
|
+
return;
|
|
61763
|
+
}
|
|
61764
|
+
this._graphCanvas.globalState.onSelectionChangedObservable.notifyObservers({ selection: this });
|
|
61687
61765
|
};
|
|
61688
61766
|
NodeLink.prototype.dispose = function (notify) {
|
|
61689
61767
|
if (notify === void 0) { notify = true; }
|
|
@@ -61756,7 +61834,8 @@ var NodePort = /** @class */ (function () {
|
|
|
61756
61834
|
_this._element.classList.add("selected");
|
|
61757
61835
|
_this._globalState.onCandidatePortSelectedObservable.notifyObservers(_this);
|
|
61758
61836
|
});
|
|
61759
|
-
this._onSelectionChangedObserver = this._globalState.onSelectionChangedObservable.add(function (
|
|
61837
|
+
this._onSelectionChangedObserver = this._globalState.onSelectionChangedObservable.add(function (options) {
|
|
61838
|
+
var selection = (options || {}).selection;
|
|
61760
61839
|
if (selection === _this) {
|
|
61761
61840
|
_this._img.classList.add("selected");
|
|
61762
61841
|
}
|
|
@@ -62069,7 +62148,8 @@ var FrameNodePortPropertyTabComponent = /** @class */ (function (_super) {
|
|
|
62069
62148
|
port: _this_1.props.frameNodePort,
|
|
62070
62149
|
};
|
|
62071
62150
|
var _this = _this_1;
|
|
62072
|
-
_this_1._onSelectionChangedObserver = _this_1.props.globalState.onSelectionChangedObservable.add(function (
|
|
62151
|
+
_this_1._onSelectionChangedObserver = _this_1.props.globalState.onSelectionChangedObservable.add(function (options) {
|
|
62152
|
+
var selection = (options || {}).selection;
|
|
62073
62153
|
if (Object(_graphCanvas__WEBPACK_IMPORTED_MODULE_6__["isFramePortData"])(selection)) {
|
|
62074
62154
|
selection.port.onFramePortPositionChangedObservable.clear();
|
|
62075
62155
|
_this._onFramePortPositionChangedObserver = selection.port.onFramePortPositionChangedObservable.add(function (port) {
|
|
@@ -63766,11 +63846,12 @@ PropertyLedger.RegisteredControls["ColorMergerBlock"] = _properties_colorMergerP
|
|
|
63766
63846
|
/*!************************!*\
|
|
63767
63847
|
!*** ./globalState.ts ***!
|
|
63768
63848
|
\************************/
|
|
63769
|
-
/*! exports provided: GlobalState */
|
|
63849
|
+
/*! exports provided: ISelectionChangedOptions, GlobalState */
|
|
63770
63850
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
63771
63851
|
|
|
63772
63852
|
"use strict";
|
|
63773
63853
|
__webpack_require__.r(__webpack_exports__);
|
|
63854
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ISelectionChangedOptions", function() { return ISelectionChangedOptions; });
|
|
63774
63855
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GlobalState", function() { return GlobalState; });
|
|
63775
63856
|
/* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babylonjs/core/Misc/observable */ "@babylonjs/core/Misc/dataStorage");
|
|
63776
63857
|
/* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
|
|
@@ -63781,8 +63862,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
63781
63862
|
|
|
63782
63863
|
|
|
63783
63864
|
|
|
63865
|
+
var ISelectionChangedOptions = /** @class */ (function () {
|
|
63866
|
+
function ISelectionChangedOptions() {
|
|
63867
|
+
}
|
|
63868
|
+
return ISelectionChangedOptions;
|
|
63869
|
+
}());
|
|
63870
|
+
|
|
63784
63871
|
var GlobalState = /** @class */ (function () {
|
|
63785
63872
|
function GlobalState() {
|
|
63873
|
+
this.onNewNodeCreatedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63786
63874
|
this.onSelectionChangedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63787
63875
|
this.onRebuildRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63788
63876
|
this.onBuiltObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
@@ -63806,6 +63894,7 @@ var GlobalState = /** @class */ (function () {
|
|
|
63806
63894
|
this.onImportFrameObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63807
63895
|
this.onGraphNodeRemovalObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63808
63896
|
this.onPopupClosedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63897
|
+
this.onNewBlockRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63809
63898
|
this.onGridSizeChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63810
63899
|
this.onExposePortOnFrameObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
|
|
63811
63900
|
this.particleSystemBlendMode = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["ParticleSystem"].BLENDMODE_ONEONE;
|
|
@@ -63899,12 +63988,11 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
63899
63988
|
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GraphEditor, _super);
|
|
63900
63989
|
function GraphEditor(props) {
|
|
63901
63990
|
var _this = _super.call(this, props) || this;
|
|
63902
|
-
_this.NodeWidth = 100;
|
|
63903
63991
|
_this._leftWidth = _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_6__["DataStorage"].ReadNumber("LeftWidth", 200);
|
|
63904
63992
|
_this._rightWidth = _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_6__["DataStorage"].ReadNumber("RightWidth", 300);
|
|
63905
63993
|
_this._blocks = new Array();
|
|
63906
63994
|
_this._copiedNodes = [];
|
|
63907
|
-
_this.
|
|
63995
|
+
_this._copiedFrames = [];
|
|
63908
63996
|
_this._mouseLocationX = 0;
|
|
63909
63997
|
_this._mouseLocationY = 0;
|
|
63910
63998
|
_this.handlePopUp = function () {
|
|
@@ -64049,6 +64137,17 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64049
64137
|
_this.state = {
|
|
64050
64138
|
showPreviewPopUp: false,
|
|
64051
64139
|
};
|
|
64140
|
+
_this._graphCanvasRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
|
|
64141
|
+
_this._diagramContainerRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
|
|
64142
|
+
_this.props.globalState.onNewBlockRequiredObservable.add(function (eventData) {
|
|
64143
|
+
var targetX = eventData.targetX;
|
|
64144
|
+
var targetY = eventData.targetY;
|
|
64145
|
+
if (eventData.needRepositioning) {
|
|
64146
|
+
targetX = targetX - _this._diagramContainer.offsetLeft;
|
|
64147
|
+
targetY = targetY - _this._diagramContainer.offsetTop;
|
|
64148
|
+
}
|
|
64149
|
+
_this.emitNewBlock(eventData.type, targetX, targetY);
|
|
64150
|
+
});
|
|
64052
64151
|
_this.props.globalState.onRebuildRequiredObservable.add(function (autoConfigure) {
|
|
64053
64152
|
if (_this.props.globalState.nodeMaterial) {
|
|
64054
64153
|
_this.buildMaterial(autoConfigure);
|
|
@@ -64095,26 +64194,28 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64095
64194
|
if (_this._graphCanvas.selectedLink) {
|
|
64096
64195
|
_this._graphCanvas.selectedLink.dispose();
|
|
64097
64196
|
}
|
|
64098
|
-
if (_this._graphCanvas.
|
|
64099
|
-
var
|
|
64100
|
-
|
|
64101
|
-
|
|
64102
|
-
|
|
64103
|
-
|
|
64104
|
-
|
|
64105
|
-
|
|
64106
|
-
|
|
64197
|
+
if (_this._graphCanvas.selectedFrames.length) {
|
|
64198
|
+
for (var _a = 0, _b = _this._graphCanvas.selectedFrames; _a < _b.length; _a++) {
|
|
64199
|
+
var frame = _b[_a];
|
|
64200
|
+
if (frame.isCollapsed) {
|
|
64201
|
+
while (frame.nodes.length > 0) {
|
|
64202
|
+
var targetBlock = frame.nodes[0].block;
|
|
64203
|
+
_this.props.globalState.nodeMaterial.removeBlock(targetBlock);
|
|
64204
|
+
var blockIndex = _this._blocks.indexOf(targetBlock);
|
|
64205
|
+
if (blockIndex > -1) {
|
|
64206
|
+
_this._blocks.splice(blockIndex, 1);
|
|
64207
|
+
}
|
|
64208
|
+
frame.nodes[0].dispose();
|
|
64107
64209
|
}
|
|
64108
|
-
frame.
|
|
64210
|
+
frame.isCollapsed = false;
|
|
64109
64211
|
}
|
|
64110
|
-
|
|
64111
|
-
|
|
64112
|
-
|
|
64113
|
-
|
|
64114
|
-
|
|
64115
|
-
|
|
64212
|
+
else {
|
|
64213
|
+
frame.nodes.forEach(function (node) {
|
|
64214
|
+
node.enclosingFrameId = -1;
|
|
64215
|
+
});
|
|
64216
|
+
}
|
|
64217
|
+
frame.dispose();
|
|
64116
64218
|
}
|
|
64117
|
-
_this._graphCanvas.selectedFrame.dispose();
|
|
64118
64219
|
}
|
|
64119
64220
|
_this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
|
|
64120
64221
|
_this.props.globalState.onRebuildRequiredObservable.notifyObservers(false);
|
|
@@ -64126,10 +64227,13 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64126
64227
|
if (evt.key === "c" || evt.key === "C") {
|
|
64127
64228
|
// Copy
|
|
64128
64229
|
_this._copiedNodes = [];
|
|
64129
|
-
_this.
|
|
64130
|
-
if (_this._graphCanvas.
|
|
64131
|
-
|
|
64132
|
-
|
|
64230
|
+
_this._copiedFrames = [];
|
|
64231
|
+
if (_this._graphCanvas.selectedFrames.length) {
|
|
64232
|
+
for (var _c = 0, _d = _this._graphCanvas.selectedFrames; _c < _d.length; _c++) {
|
|
64233
|
+
var frame = _d[_c];
|
|
64234
|
+
frame.serialize(true);
|
|
64235
|
+
_this._copiedFrames.push(frame);
|
|
64236
|
+
}
|
|
64133
64237
|
return;
|
|
64134
64238
|
}
|
|
64135
64239
|
var selectedItems = _this._graphCanvas.selectedNodes;
|
|
@@ -64147,44 +64251,47 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64147
64251
|
var rootElement = _this.props.globalState.hostDocument.querySelector(".diagram-container");
|
|
64148
64252
|
var zoomLevel = _this._graphCanvas.zoom;
|
|
64149
64253
|
var currentY = (_this._mouseLocationY - rootElement.offsetTop - _this._graphCanvas.y - 20) / zoomLevel;
|
|
64150
|
-
if (_this.
|
|
64151
|
-
|
|
64152
|
-
|
|
64153
|
-
|
|
64154
|
-
|
|
64155
|
-
|
|
64156
|
-
|
|
64157
|
-
|
|
64158
|
-
|
|
64159
|
-
|
|
64160
|
-
|
|
64161
|
-
|
|
64162
|
-
|
|
64163
|
-
|
|
64164
|
-
|
|
64165
|
-
|
|
64166
|
-
|
|
64167
|
-
|
|
64168
|
-
|
|
64169
|
-
|
|
64170
|
-
|
|
64171
|
-
|
|
64254
|
+
if (_this._copiedFrames.length) {
|
|
64255
|
+
for (var _e = 0, _f = _this._copiedFrames; _e < _f.length; _e++) {
|
|
64256
|
+
var frame = _f[_e];
|
|
64257
|
+
// New frame
|
|
64258
|
+
var newFrame = new _diagram_graphFrame__WEBPACK_IMPORTED_MODULE_14__["GraphFrame"](null, _this._graphCanvas, true);
|
|
64259
|
+
_this._graphCanvas.frames.push(newFrame);
|
|
64260
|
+
newFrame.width = frame.width;
|
|
64261
|
+
newFrame.height = frame.height;
|
|
64262
|
+
newFrame.width / 2;
|
|
64263
|
+
newFrame.name = frame.name;
|
|
64264
|
+
newFrame.color = frame.color;
|
|
64265
|
+
var currentX_1 = (_this._mouseLocationX - rootElement.offsetLeft - _this._graphCanvas.x) / zoomLevel;
|
|
64266
|
+
newFrame.x = currentX_1 - newFrame.width / 2;
|
|
64267
|
+
newFrame.y = currentY;
|
|
64268
|
+
// Paste nodes
|
|
64269
|
+
if (frame.nodes.length) {
|
|
64270
|
+
currentX_1 = newFrame.x + frame.nodes[0].x - frame.x;
|
|
64271
|
+
currentY = newFrame.y + frame.nodes[0].y - frame.y;
|
|
64272
|
+
_this._graphCanvas._frameIsMoving = true;
|
|
64273
|
+
var newNodes = _this.pasteSelection(frame.nodes, currentX_1, currentY);
|
|
64274
|
+
if (newNodes) {
|
|
64275
|
+
for (var _g = 0, newNodes_1 = newNodes; _g < newNodes_1.length; _g++) {
|
|
64276
|
+
var node = newNodes_1[_g];
|
|
64277
|
+
newFrame.syncNode(node);
|
|
64278
|
+
}
|
|
64172
64279
|
}
|
|
64280
|
+
_this._graphCanvas._frameIsMoving = false;
|
|
64173
64281
|
}
|
|
64174
|
-
|
|
64175
|
-
|
|
64176
|
-
|
|
64177
|
-
|
|
64178
|
-
|
|
64282
|
+
newFrame.adjustPorts();
|
|
64283
|
+
if (frame.isCollapsed) {
|
|
64284
|
+
newFrame.isCollapsed = true;
|
|
64285
|
+
}
|
|
64286
|
+
// Select
|
|
64287
|
+
_this.props.globalState.onSelectionChangedObservable.notifyObservers({ selection: newFrame, forceKeepSelection: true });
|
|
64288
|
+
return;
|
|
64179
64289
|
}
|
|
64180
|
-
// Select
|
|
64181
|
-
_this.props.globalState.onSelectionChangedObservable.notifyObservers(newFrame);
|
|
64182
|
-
return;
|
|
64183
64290
|
}
|
|
64184
64291
|
if (!_this._copiedNodes.length) {
|
|
64185
64292
|
return;
|
|
64186
64293
|
}
|
|
64187
|
-
var currentX = (_this._mouseLocationX - rootElement.offsetLeft - _this._graphCanvas.x -
|
|
64294
|
+
var currentX = (_this._mouseLocationX - rootElement.offsetLeft - _this._graphCanvas.x - GraphEditor.NodeWidth) / zoomLevel;
|
|
64188
64295
|
_this.pasteSelection(_this._copiedNodes, currentX, currentY, true);
|
|
64189
64296
|
}
|
|
64190
64297
|
}, false);
|
|
@@ -64236,7 +64343,8 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64236
64343
|
GraphEditor.prototype.componentDidMount = function () {
|
|
64237
64344
|
var _this = this;
|
|
64238
64345
|
if (this.props.globalState.hostDocument) {
|
|
64239
|
-
this._graphCanvas = this.
|
|
64346
|
+
this._graphCanvas = this._graphCanvasRef.current;
|
|
64347
|
+
this._diagramContainer = this._diagramContainerRef.current;
|
|
64240
64348
|
this._previewManager = new _components_preview_previewManager__WEBPACK_IMPORTED_MODULE_9__["PreviewManager"](this.props.globalState.hostDocument.getElementById("preview-canvas"), this.props.globalState);
|
|
64241
64349
|
this.props.globalState._previewManager = this._previewManager;
|
|
64242
64350
|
}
|
|
@@ -64331,7 +64439,7 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64331
64439
|
newNode.cleanAccumulation();
|
|
64332
64440
|
newNodes.push(newNode);
|
|
64333
64441
|
if (selectNew) {
|
|
64334
|
-
this.props.globalState.onSelectionChangedObservable.notifyObservers(newNode);
|
|
64442
|
+
this.props.globalState.onSelectionChangedObservable.notifyObservers({ selection: newNode, forceKeepSelection: true });
|
|
64335
64443
|
}
|
|
64336
64444
|
}
|
|
64337
64445
|
// Relink
|
|
@@ -64478,13 +64586,12 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64478
64586
|
GraphEditor.prototype.buildColumnLayout = function () {
|
|
64479
64587
|
return "".concat(this._leftWidth, "px 4px calc(100% - ").concat(this._leftWidth + 8 + this._rightWidth, "px) 4px ").concat(this._rightWidth, "px");
|
|
64480
64588
|
};
|
|
64481
|
-
GraphEditor.prototype.emitNewBlock = function (
|
|
64589
|
+
GraphEditor.prototype.emitNewBlock = function (blockType, targetX, targetY) {
|
|
64482
64590
|
var _this = this;
|
|
64483
|
-
var data = event.dataTransfer.getData("babylonjs-material-node");
|
|
64484
64591
|
var newNode;
|
|
64485
64592
|
var customBlockData;
|
|
64486
|
-
if (
|
|
64487
|
-
var storageData = localStorage.getItem(
|
|
64593
|
+
if (blockType.indexOf("CustomBlock") > -1) {
|
|
64594
|
+
var storageData = localStorage.getItem(blockType);
|
|
64488
64595
|
if (!storageData) {
|
|
64489
64596
|
this.props.globalState.onErrorMessageDialogRequiredObservable.notifyObservers("Error loading custom block");
|
|
64490
64597
|
return;
|
|
@@ -64495,13 +64602,13 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64495
64602
|
return;
|
|
64496
64603
|
}
|
|
64497
64604
|
}
|
|
64498
|
-
else if (
|
|
64499
|
-
var storageData = localStorage.getItem(
|
|
64605
|
+
else if (blockType.indexOf("Custom") > -1) {
|
|
64606
|
+
var storageData = localStorage.getItem(blockType);
|
|
64500
64607
|
if (storageData) {
|
|
64501
64608
|
var frameData = JSON.parse(storageData);
|
|
64502
64609
|
//edit position before loading.
|
|
64503
|
-
var newX = (
|
|
64504
|
-
var newY = (
|
|
64610
|
+
var newX = (targetX - this._graphCanvas.x - GraphEditor.NodeWidth) / this._graphCanvas.zoom;
|
|
64611
|
+
var newY = (targetY - this._graphCanvas.y - 20) / this._graphCanvas.zoom;
|
|
64505
64612
|
var oldX = frameData.editorData.frames[0].x;
|
|
64506
64613
|
var oldY = frameData.editorData.frames[0].y;
|
|
64507
64614
|
frameData.editorData.frames[0].x = newX;
|
|
@@ -64517,8 +64624,8 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64517
64624
|
return;
|
|
64518
64625
|
}
|
|
64519
64626
|
}
|
|
64520
|
-
if (
|
|
64521
|
-
newNode = this.addValueNode(
|
|
64627
|
+
if (blockType.indexOf("Block") === -1) {
|
|
64628
|
+
newNode = this.addValueNode(blockType);
|
|
64522
64629
|
}
|
|
64523
64630
|
else {
|
|
64524
64631
|
var block_1;
|
|
@@ -64527,7 +64634,7 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64527
64634
|
block_1.options = customBlockData;
|
|
64528
64635
|
}
|
|
64529
64636
|
else {
|
|
64530
|
-
block_1 = _blockTools__WEBPACK_IMPORTED_MODULE_8__["BlockTools"].GetBlockFromString(
|
|
64637
|
+
block_1 = _blockTools__WEBPACK_IMPORTED_MODULE_8__["BlockTools"].GetBlockFromString(blockType, this.props.globalState.nodeMaterial.getScene(), this.props.globalState.nodeMaterial);
|
|
64531
64638
|
}
|
|
64532
64639
|
if (block_1.isUnique) {
|
|
64533
64640
|
var className = block_1.getClassName();
|
|
@@ -64542,15 +64649,24 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64542
64649
|
block_1.autoConfigure(this.props.globalState.nodeMaterial);
|
|
64543
64650
|
newNode = this.createNodeFromObject(block_1);
|
|
64544
64651
|
}
|
|
64545
|
-
|
|
64546
|
-
var
|
|
64652
|
+
// Size exceptions
|
|
64653
|
+
var offsetX = GraphEditor.NodeWidth;
|
|
64654
|
+
var offsetY = 20;
|
|
64655
|
+
if (blockType === "ElbowBlock") {
|
|
64656
|
+
offsetX = 10;
|
|
64657
|
+
offsetY = 10;
|
|
64658
|
+
}
|
|
64659
|
+
// Drop
|
|
64660
|
+
var x = targetX - this._graphCanvas.x - offsetX * this._graphCanvas.zoom;
|
|
64661
|
+
var y = targetY - this._graphCanvas.y - offsetY * this._graphCanvas.zoom;
|
|
64547
64662
|
newNode.x = x / this._graphCanvas.zoom;
|
|
64548
64663
|
newNode.y = y / this._graphCanvas.zoom;
|
|
64549
64664
|
newNode.cleanAccumulation();
|
|
64665
|
+
this.props.globalState.onNewNodeCreatedObservable.notifyObservers(newNode);
|
|
64550
64666
|
this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
|
|
64551
|
-
this.props.globalState.onSelectionChangedObservable.notifyObservers(newNode);
|
|
64667
|
+
this.props.globalState.onSelectionChangedObservable.notifyObservers({ selection: newNode });
|
|
64552
64668
|
var block = newNode.block;
|
|
64553
|
-
x -=
|
|
64669
|
+
x -= GraphEditor.NodeWidth + 150;
|
|
64554
64670
|
block.inputs.forEach(function (connection) {
|
|
64555
64671
|
if (connection.connectedPoint) {
|
|
64556
64672
|
var existingNodes = _this._graphCanvas.nodes.filter(function (n) {
|
|
@@ -64567,6 +64683,10 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64567
64683
|
});
|
|
64568
64684
|
this.forceUpdate();
|
|
64569
64685
|
};
|
|
64686
|
+
GraphEditor.prototype.dropNewBlock = function (event) {
|
|
64687
|
+
var data = event.dataTransfer.getData("babylonjs-material-node");
|
|
64688
|
+
this.emitNewBlock(data, event.clientX - this._diagramContainer.offsetLeft, event.clientY - this._diagramContainer.offsetTop);
|
|
64689
|
+
};
|
|
64570
64690
|
GraphEditor.prototype.render = function () {
|
|
64571
64691
|
var _this = this;
|
|
64572
64692
|
return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_portal__WEBPACK_IMPORTED_MODULE_4__["Portal"], { globalState: this.props.globalState },
|
|
@@ -64583,12 +64703,12 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64583
64703
|
} },
|
|
64584
64704
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_nodeList_nodeListComponent__WEBPACK_IMPORTED_MODULE_2__["NodeListComponent"], { globalState: this.props.globalState }),
|
|
64585
64705
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "leftGrab", onPointerDown: function (evt) { return _this.onPointerDown(evt); }, onPointerUp: function (evt) { return _this.onPointerUp(evt); }, onPointerMove: function (evt) { return _this.resizeColumns(evt); } }),
|
|
64586
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "diagram-container", onDrop: function (event) {
|
|
64587
|
-
_this.
|
|
64706
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "diagram-container", ref: this._diagramContainerRef, onDrop: function (event) {
|
|
64707
|
+
_this.dropNewBlock(event);
|
|
64588
64708
|
}, onDragOver: function (event) {
|
|
64589
64709
|
event.preventDefault();
|
|
64590
64710
|
} },
|
|
64591
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_graphCanvas__WEBPACK_IMPORTED_MODULE_13__["GraphCanvasComponent"], { ref:
|
|
64711
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_graphCanvas__WEBPACK_IMPORTED_MODULE_13__["GraphCanvasComponent"], { ref: this._graphCanvasRef, globalState: this.props.globalState, onEmitNewBlock: function (block) {
|
|
64592
64712
|
return _this.createNodeFromObject(block);
|
|
64593
64713
|
} })),
|
|
64594
64714
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "rightGrab", onPointerDown: function (evt) { return _this.onPointerDown(evt); }, onPointerUp: function (evt) { return _this.onPointerUp(evt); }, onPointerMove: function (evt) { return _this.resizeColumns(evt, false); } }),
|
|
@@ -64601,6 +64721,7 @@ var GraphEditor = /** @class */ (function (_super) {
|
|
|
64601
64721
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "blocker" }, "Node Material Editor runs only on desktop"),
|
|
64602
64722
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "wait-screen hidden" }, "Processing...please wait")));
|
|
64603
64723
|
};
|
|
64724
|
+
GraphEditor.NodeWidth = 100;
|
|
64604
64725
|
return GraphEditor;
|
|
64605
64726
|
}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
|
|
64606
64727
|
|
|
@@ -65026,42 +65147,24 @@ var Color3LineComponent = /** @class */ (function (_super) {
|
|
|
65026
65147
|
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Color3LineComponent, _super);
|
|
65027
65148
|
function Color3LineComponent(props) {
|
|
65028
65149
|
var _this = _super.call(this, props) || this;
|
|
65029
|
-
_this.
|
|
65030
|
-
_this.state = { isExpanded: false, color: _this.props.target[_this.props.propertyName].clone() };
|
|
65150
|
+
_this.state = { isExpanded: false };
|
|
65031
65151
|
return _this;
|
|
65032
65152
|
}
|
|
65033
|
-
Color3LineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
|
|
65034
|
-
var currentState = nextProps.target[nextProps.propertyName];
|
|
65035
|
-
if (!currentState.equals(nextState.color) || this._localChange) {
|
|
65036
|
-
nextState.color = currentState.clone();
|
|
65037
|
-
this._localChange = false;
|
|
65038
|
-
return true;
|
|
65039
|
-
}
|
|
65040
|
-
return false;
|
|
65041
|
-
};
|
|
65042
65153
|
Color3LineComponent.prototype.onChange = function (newValue) {
|
|
65043
|
-
this.
|
|
65044
|
-
var isColor4 = this.props.target[this.props.propertyName].getClassName() === "Color4";
|
|
65154
|
+
var isColor4 = this.getCurrentColor().getClassName() === "Color4";
|
|
65045
65155
|
var newColor = isColor4 ? _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"].FromHexString(newValue) : _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"].FromHexString(newValue);
|
|
65046
|
-
|
|
65047
|
-
this.props.onPropertyChangedObservable.notifyObservers({
|
|
65048
|
-
object: this.props.target,
|
|
65049
|
-
property: this.props.propertyName,
|
|
65050
|
-
value: newColor,
|
|
65051
|
-
initialValue: this.state.color,
|
|
65052
|
-
});
|
|
65053
|
-
}
|
|
65054
|
-
this.props.target[this.props.propertyName] = newColor;
|
|
65055
|
-
this.setState({ color: newColor });
|
|
65056
|
-
if (this.props.onChange) {
|
|
65057
|
-
this.props.onChange();
|
|
65058
|
-
}
|
|
65156
|
+
this.updateColor(newColor);
|
|
65059
65157
|
};
|
|
65060
65158
|
Color3LineComponent.prototype.switchExpandState = function () {
|
|
65061
|
-
this._localChange = true;
|
|
65062
65159
|
this.setState({ isExpanded: !this.state.isExpanded });
|
|
65063
65160
|
};
|
|
65064
|
-
Color3LineComponent.prototype.
|
|
65161
|
+
Color3LineComponent.prototype.updateColor = function (newValue) {
|
|
65162
|
+
var previousValue = this.getCurrentColor();
|
|
65163
|
+
if (newValue.equals(previousValue)) {
|
|
65164
|
+
return;
|
|
65165
|
+
}
|
|
65166
|
+
this.props.target[this.props.propertyName] = newValue;
|
|
65167
|
+
this.forceUpdate();
|
|
65065
65168
|
if (this.props.onChange) {
|
|
65066
65169
|
this.props.onChange();
|
|
65067
65170
|
}
|
|
@@ -65071,40 +65174,21 @@ var Color3LineComponent = /** @class */ (function (_super) {
|
|
|
65071
65174
|
this.props.onPropertyChangedObservable.notifyObservers({
|
|
65072
65175
|
object: this.props.target,
|
|
65073
65176
|
property: this.props.propertyName,
|
|
65074
|
-
value:
|
|
65177
|
+
value: newValue,
|
|
65075
65178
|
initialValue: previousValue,
|
|
65076
65179
|
});
|
|
65077
65180
|
};
|
|
65078
|
-
Color3LineComponent.prototype.
|
|
65079
|
-
|
|
65080
|
-
|
|
65081
|
-
this.
|
|
65082
|
-
this.state.color.r = value;
|
|
65083
|
-
this.props.target[this.props.propertyName] = this.state.color;
|
|
65084
|
-
this.setState({ color: this.state.color });
|
|
65085
|
-
this.raiseOnPropertyChanged(store);
|
|
65181
|
+
Color3LineComponent.prototype.modifyColor = function (modifier) {
|
|
65182
|
+
var color = this.getCurrentColor();
|
|
65183
|
+
modifier(color);
|
|
65184
|
+
this.updateColor(color);
|
|
65086
65185
|
};
|
|
65087
|
-
Color3LineComponent.prototype.
|
|
65088
|
-
this.
|
|
65089
|
-
var store = this.state.color.clone();
|
|
65090
|
-
this.props.target[this.props.propertyName].g = value;
|
|
65091
|
-
this.state.color.g = value;
|
|
65092
|
-
this.props.target[this.props.propertyName] = this.state.color;
|
|
65093
|
-
this.setState({ color: this.state.color });
|
|
65094
|
-
this.raiseOnPropertyChanged(store);
|
|
65095
|
-
};
|
|
65096
|
-
Color3LineComponent.prototype.updateStateB = function (value) {
|
|
65097
|
-
this._localChange = true;
|
|
65098
|
-
var store = this.state.color.clone();
|
|
65099
|
-
this.props.target[this.props.propertyName].b = value;
|
|
65100
|
-
this.state.color.b = value;
|
|
65101
|
-
this.props.target[this.props.propertyName] = this.state.color;
|
|
65102
|
-
this.setState({ color: this.state.color });
|
|
65103
|
-
this.raiseOnPropertyChanged(store);
|
|
65186
|
+
Color3LineComponent.prototype.getCurrentColor = function () {
|
|
65187
|
+
return this.props.target[this.props.propertyName].clone();
|
|
65104
65188
|
};
|
|
65105
65189
|
Color3LineComponent.prototype.copyToClipboard = function () {
|
|
65106
65190
|
var element = document.createElement("div");
|
|
65107
|
-
element.textContent = this.
|
|
65191
|
+
element.textContent = this.getCurrentColor().toHexString();
|
|
65108
65192
|
document.body.appendChild(element);
|
|
65109
65193
|
if (window.getSelection) {
|
|
65110
65194
|
var range = document.createRange();
|
|
@@ -65118,11 +65202,12 @@ var Color3LineComponent = /** @class */ (function (_super) {
|
|
|
65118
65202
|
Color3LineComponent.prototype.render = function () {
|
|
65119
65203
|
var _this = this;
|
|
65120
65204
|
var expandedIcon = this.state.isExpanded ? minusIcon : plusIcon;
|
|
65205
|
+
var color = this.getCurrentColor();
|
|
65121
65206
|
return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3Line" },
|
|
65122
65207
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "firstLine" },
|
|
65123
65208
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
|
|
65124
65209
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3" },
|
|
65125
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_4__["ColorPickerLineComponent"], { value:
|
|
65210
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_4__["ColorPickerLineComponent"], { value: color, globalState: this.props.globalState, onColorChanged: function (color) {
|
|
65126
65211
|
_this.onChange(color);
|
|
65127
65212
|
} })),
|
|
65128
65213
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "copy hoverIcon", onClick: function () { return _this.copyToClipboard(); }, title: "Copy to clipboard" },
|
|
@@ -65130,9 +65215,9 @@ var Color3LineComponent = /** @class */ (function (_super) {
|
|
|
65130
65215
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" },
|
|
65131
65216
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: expandedIcon, alt: "" }))),
|
|
65132
65217
|
this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
|
|
65133
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "r", value:
|
|
65134
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "g", value:
|
|
65135
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "b", value:
|
|
65218
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "r", value: color.r, onChange: function (value) { return _this.modifyColor(function (col) { return col.r = value; }); } }),
|
|
65219
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "g", value: color.g, onChange: function (value) { return _this.modifyColor(function (col) { return col.g = value; }); } }),
|
|
65220
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "b", value: color.b, onChange: function (value) { return _this.modifyColor(function (col) { return col.b = value; }); } })))));
|
|
65136
65221
|
};
|
|
65137
65222
|
return Color3LineComponent;
|
|
65138
65223
|
}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
|
|
@@ -65170,44 +65255,23 @@ var Color4LineComponent = /** @class */ (function (_super) {
|
|
|
65170
65255
|
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Color4LineComponent, _super);
|
|
65171
65256
|
function Color4LineComponent(props) {
|
|
65172
65257
|
var _this = _super.call(this, props) || this;
|
|
65173
|
-
_this.
|
|
65174
|
-
var value = _this.props.target[_this.props.propertyName];
|
|
65175
|
-
var currentColor = value.getClassName() === "Color4" ? value.clone() : new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](value.r, value.g, value.b, 1.0);
|
|
65176
|
-
_this.state = { isExpanded: false, color: currentColor };
|
|
65258
|
+
_this.state = { isExpanded: false };
|
|
65177
65259
|
return _this;
|
|
65178
65260
|
}
|
|
65179
|
-
Color4LineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
|
|
65180
|
-
var currentState = nextProps.target[nextProps.propertyName];
|
|
65181
|
-
var currentColor = currentState.getClassName() === "Color4" ? currentState : new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](currentState.r, currentState.g, currentState.b, 1.0);
|
|
65182
|
-
if (!currentColor.equals(nextState.color) || this._localChange) {
|
|
65183
|
-
nextState.color = currentColor.clone();
|
|
65184
|
-
this._localChange = false;
|
|
65185
|
-
return true;
|
|
65186
|
-
}
|
|
65187
|
-
return false;
|
|
65188
|
-
};
|
|
65189
65261
|
Color4LineComponent.prototype.onChange = function (newValue) {
|
|
65190
|
-
this._localChange = true;
|
|
65191
65262
|
var newColor = _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"].FromHexString(newValue);
|
|
65192
|
-
|
|
65193
|
-
this.props.onPropertyChangedObservable.notifyObservers({
|
|
65194
|
-
object: this.props.target,
|
|
65195
|
-
property: this.props.propertyName,
|
|
65196
|
-
value: newColor,
|
|
65197
|
-
initialValue: this.state.color,
|
|
65198
|
-
});
|
|
65199
|
-
}
|
|
65200
|
-
this.props.target[this.props.propertyName] = newColor;
|
|
65201
|
-
this.setState({ color: this.props.target[this.props.propertyName] });
|
|
65202
|
-
if (this.props.onChange) {
|
|
65203
|
-
this.props.onChange();
|
|
65204
|
-
}
|
|
65263
|
+
this.updateColor(newColor);
|
|
65205
65264
|
};
|
|
65206
65265
|
Color4LineComponent.prototype.switchExpandState = function () {
|
|
65207
|
-
this._localChange = true;
|
|
65208
65266
|
this.setState({ isExpanded: !this.state.isExpanded });
|
|
65209
65267
|
};
|
|
65210
|
-
Color4LineComponent.prototype.
|
|
65268
|
+
Color4LineComponent.prototype.updateColor = function (newValue) {
|
|
65269
|
+
var previousValue = this.getCurrentColor();
|
|
65270
|
+
if (newValue.equals(previousValue)) {
|
|
65271
|
+
return;
|
|
65272
|
+
}
|
|
65273
|
+
this.props.target[this.props.propertyName] = newValue;
|
|
65274
|
+
this.forceUpdate();
|
|
65211
65275
|
if (this.props.onChange) {
|
|
65212
65276
|
this.props.onChange();
|
|
65213
65277
|
}
|
|
@@ -65217,49 +65281,21 @@ var Color4LineComponent = /** @class */ (function (_super) {
|
|
|
65217
65281
|
this.props.onPropertyChangedObservable.notifyObservers({
|
|
65218
65282
|
object: this.props.target,
|
|
65219
65283
|
property: this.props.propertyName,
|
|
65220
|
-
value:
|
|
65284
|
+
value: newValue,
|
|
65221
65285
|
initialValue: previousValue,
|
|
65222
65286
|
});
|
|
65223
65287
|
};
|
|
65224
|
-
Color4LineComponent.prototype.
|
|
65225
|
-
|
|
65226
|
-
|
|
65227
|
-
this.
|
|
65228
|
-
this.state.color.r = value;
|
|
65229
|
-
this.props.target[this.props.propertyName] = this.state.color;
|
|
65230
|
-
this.setState({ color: this.state.color });
|
|
65231
|
-
this.raiseOnPropertyChanged(store);
|
|
65232
|
-
};
|
|
65233
|
-
Color4LineComponent.prototype.updateStateG = function (value) {
|
|
65234
|
-
this._localChange = true;
|
|
65235
|
-
var store = this.state.color.clone();
|
|
65236
|
-
this.props.target[this.props.propertyName].g = value;
|
|
65237
|
-
this.state.color.g = value;
|
|
65238
|
-
this.props.target[this.props.propertyName] = this.state.color;
|
|
65239
|
-
this.setState({ color: this.state.color });
|
|
65240
|
-
this.raiseOnPropertyChanged(store);
|
|
65241
|
-
};
|
|
65242
|
-
Color4LineComponent.prototype.updateStateB = function (value) {
|
|
65243
|
-
this._localChange = true;
|
|
65244
|
-
var store = this.state.color.clone();
|
|
65245
|
-
this.props.target[this.props.propertyName].b = value;
|
|
65246
|
-
this.state.color.b = value;
|
|
65247
|
-
this.props.target[this.props.propertyName] = this.state.color;
|
|
65248
|
-
this.setState({ color: this.state.color });
|
|
65249
|
-
this.raiseOnPropertyChanged(store);
|
|
65288
|
+
Color4LineComponent.prototype.modifyColor = function (modifier) {
|
|
65289
|
+
var color = this.getCurrentColor();
|
|
65290
|
+
modifier(color);
|
|
65291
|
+
this.updateColor(color);
|
|
65250
65292
|
};
|
|
65251
|
-
Color4LineComponent.prototype.
|
|
65252
|
-
this.
|
|
65253
|
-
var store = this.state.color.clone();
|
|
65254
|
-
this.props.target[this.props.propertyName].a = value;
|
|
65255
|
-
this.state.color.a = value;
|
|
65256
|
-
this.props.target[this.props.propertyName] = this.state.color;
|
|
65257
|
-
this.setState({ color: this.state.color });
|
|
65258
|
-
this.raiseOnPropertyChanged(store);
|
|
65293
|
+
Color4LineComponent.prototype.getCurrentColor = function () {
|
|
65294
|
+
return this.props.target[this.props.propertyName].clone();
|
|
65259
65295
|
};
|
|
65260
65296
|
Color4LineComponent.prototype.copyToClipboard = function () {
|
|
65261
65297
|
var element = document.createElement("div");
|
|
65262
|
-
element.textContent = this.
|
|
65298
|
+
element.textContent = this.getCurrentColor().toHexString();
|
|
65263
65299
|
document.body.appendChild(element);
|
|
65264
65300
|
if (window.getSelection) {
|
|
65265
65301
|
var range = document.createRange();
|
|
@@ -65273,11 +65309,12 @@ var Color4LineComponent = /** @class */ (function (_super) {
|
|
|
65273
65309
|
Color4LineComponent.prototype.render = function () {
|
|
65274
65310
|
var _this = this;
|
|
65275
65311
|
var expandedIcon = this.state.isExpanded ? minusIcon : plusIcon;
|
|
65312
|
+
var color = this.getCurrentColor();
|
|
65276
65313
|
return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3Line" },
|
|
65277
65314
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "firstLine" },
|
|
65278
65315
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
|
|
65279
65316
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3" },
|
|
65280
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_4__["ColorPickerLineComponent"], { globalState: this.props.globalState, value:
|
|
65317
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_4__["ColorPickerLineComponent"], { globalState: this.props.globalState, value: color, onColorChanged: function (color) {
|
|
65281
65318
|
_this.onChange(color);
|
|
65282
65319
|
} })),
|
|
65283
65320
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "copy hoverIcon", onClick: function () { return _this.copyToClipboard(); }, title: "Copy to clipboard" },
|
|
@@ -65285,10 +65322,10 @@ var Color4LineComponent = /** @class */ (function (_super) {
|
|
|
65285
65322
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" },
|
|
65286
65323
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: expandedIcon, alt: "" }))),
|
|
65287
65324
|
this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
|
|
65288
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "r", value:
|
|
65289
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "g", value:
|
|
65290
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "b", value:
|
|
65291
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "a", value:
|
|
65325
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "r", value: color.r, onChange: function (value) { return _this.modifyColor(function (col) { return col.r = value; }); } }),
|
|
65326
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "g", value: color.g, onChange: function (value) { return _this.modifyColor(function (col) { return col.g = value; }); } }),
|
|
65327
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "b", value: color.b, onChange: function (value) { return _this.modifyColor(function (col) { return col.b = value; }); } }),
|
|
65328
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "a", value: color.a, onChange: function (value) { return _this.modifyColor(function (col) { return col.a = value; }); } })))));
|
|
65292
65329
|
};
|
|
65293
65330
|
return Color4LineComponent;
|
|
65294
65331
|
}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
|
|
@@ -65338,12 +65375,11 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
|
|
|
65338
65375
|
div.style.left = host.getBoundingClientRect().left - div.getBoundingClientRect().width + "px";
|
|
65339
65376
|
};
|
|
65340
65377
|
ColorPickerLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
|
|
65341
|
-
var result = nextProps.value.toHexString() !== this.props.value.toHexString() || nextState.hex !== this.state.hex || nextState.pickerEnabled !== this.state.pickerEnabled;
|
|
65342
65378
|
if (nextProps.value.toHexString() !== this.props.value.toHexString()) {
|
|
65343
65379
|
nextState.color = nextProps.value;
|
|
65344
65380
|
nextState.hex = nextProps.value.toHexString();
|
|
65345
65381
|
}
|
|
65346
|
-
return
|
|
65382
|
+
return true;
|
|
65347
65383
|
};
|
|
65348
65384
|
ColorPickerLineComponent.prototype.componentDidUpdate = function () {
|
|
65349
65385
|
this.syncPositions();
|
|
@@ -65353,7 +65389,6 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
|
|
|
65353
65389
|
};
|
|
65354
65390
|
ColorPickerLineComponent.prototype.setPickerState = function (enabled) {
|
|
65355
65391
|
this.setState({ pickerEnabled: enabled });
|
|
65356
|
-
this.props.globalState.blockKeyboardEvents = enabled;
|
|
65357
65392
|
};
|
|
65358
65393
|
ColorPickerLineComponent.prototype.render = function () {
|
|
65359
65394
|
var _this = this;
|
|
@@ -65362,13 +65397,12 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
|
|
|
65362
65397
|
return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker" },
|
|
65363
65398
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-rect", ref: this._floatHostRef, style: { background: this.state.hex }, onClick: function () { return _this.setPickerState(true); } }),
|
|
65364
65399
|
this.state.pickerEnabled && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
|
|
65365
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-cover", onClick: function () { return _this.setPickerState(false); } }
|
|
65366
|
-
|
|
65367
|
-
|
|
65368
|
-
|
|
65369
|
-
|
|
65370
|
-
|
|
65371
|
-
} }))))));
|
|
65400
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-cover", onClick: function () { return _this.setPickerState(false); } },
|
|
65401
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-float", onClick: function (ev) { return ev.stopPropagation(); }, ref: this._floatRef },
|
|
65402
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__["ColorPicker"], { color: color, onColorChanged: function (color) {
|
|
65403
|
+
var hex = color.toHexString();
|
|
65404
|
+
_this.props.onColorChanged(hex);
|
|
65405
|
+
} })))))));
|
|
65372
65406
|
};
|
|
65373
65407
|
return ColorPickerLineComponent;
|
|
65374
65408
|
}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
|