@babylonjs/shared-ui-components 5.28.0 → 5.30.0
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/colorPicker/colorComponentEntry.d.ts +18 -18
- package/colorPicker/colorComponentEntry.js +36 -36
- package/colorPicker/colorPicker.d.ts +43 -43
- package/colorPicker/colorPicker.js +136 -136
- package/colorPicker/hexColor.d.ts +20 -20
- package/colorPicker/hexColor.js +42 -42
- package/components/Button.d.ts +10 -10
- package/components/Button.js +6 -6
- package/components/Icon.d.ts +6 -6
- package/components/Icon.js +6 -6
- package/components/Label.d.ts +7 -7
- package/components/Label.js +6 -6
- package/components/MessageDialog.d.ts +7 -7
- package/components/MessageDialog.js +22 -22
- package/components/Toggle.d.ts +8 -8
- package/components/Toggle.js +15 -15
- package/components/bars/CommandBarComponent.d.ts +16 -16
- package/components/bars/CommandBarComponent.js +68 -68
- package/components/bars/CommandBarComponent.js.map +1 -1
- package/components/bars/CommandButtonComponent.d.ts +11 -11
- package/components/bars/CommandButtonComponent.js +6 -6
- package/components/bars/CommandDropdownComponent.d.ts +26 -26
- package/components/bars/CommandDropdownComponent.js +48 -48
- package/components/classNames.d.ts +2 -2
- package/components/classNames.js +18 -18
- package/components/colorPicker/ColorComponentEntry.d.ts +18 -18
- package/components/colorPicker/ColorComponentEntry.js +37 -37
- package/components/colorPicker/ColorPicker.d.ts +43 -43
- package/components/colorPicker/ColorPicker.js +137 -137
- package/components/colorPicker/HexColor.d.ts +20 -20
- package/components/colorPicker/HexColor.js +45 -45
- package/components/layout/DraggableIcon.d.ts +23 -0
- package/components/layout/DraggableIcon.js +18 -0
- package/components/layout/DraggableIcon.js.map +1 -0
- package/components/layout/FlexibleColumn.d.ts +17 -0
- package/components/layout/FlexibleColumn.js +12 -0
- package/components/layout/FlexibleColumn.js.map +1 -0
- package/components/layout/FlexibleDragHandler.d.ts +18 -0
- package/components/layout/FlexibleDragHandler.js +88 -0
- package/components/layout/FlexibleDragHandler.js.map +1 -0
- package/components/layout/FlexibleDropZone.d.ts +19 -0
- package/components/layout/FlexibleDropZone.js +12 -0
- package/components/layout/FlexibleDropZone.js.map +1 -0
- package/components/layout/FlexibleGridContainer.d.ts +10 -0
- package/components/layout/FlexibleGridContainer.js +23 -0
- package/components/layout/FlexibleGridContainer.js.map +1 -0
- package/components/layout/FlexibleGridLayout.d.ts +16 -0
- package/components/layout/FlexibleGridLayout.js +24 -0
- package/components/layout/FlexibleGridLayout.js.map +1 -0
- package/components/layout/FlexibleResizeBar.d.ts +40 -0
- package/components/layout/FlexibleResizeBar.js +21 -0
- package/components/layout/FlexibleResizeBar.js.map +1 -0
- package/components/layout/FlexibleTab.d.ts +34 -0
- package/components/layout/FlexibleTab.js +36 -0
- package/components/layout/FlexibleTab.js.map +1 -0
- package/components/layout/FlexibleTabsContainer.d.ts +28 -0
- package/components/layout/FlexibleTabsContainer.js +54 -0
- package/components/layout/FlexibleTabsContainer.js.map +1 -0
- package/components/layout/LayoutContext.d.ts +12 -0
- package/components/layout/LayoutContext.js +3 -0
- package/components/layout/LayoutContext.js.map +1 -0
- package/components/layout/types.d.ts +82 -0
- package/components/layout/types.js +13 -0
- package/components/layout/types.js.map +1 -0
- package/components/layout/utils.d.ts +25 -0
- package/components/layout/utils.js +68 -0
- package/components/layout/utils.js.map +1 -0
- package/components/lines/ColorLineComponent.d.ts +40 -40
- package/components/lines/ColorLineComponent.js +145 -145
- package/components/lines/ColorPickerLineComponent.d.ts +33 -33
- package/components/lines/ColorPickerLineComponent.js +61 -61
- package/components/lines/FileButtonLineComponent.d.ts +16 -16
- package/components/lines/FileButtonLineComponent.js +21 -21
- package/components/lines/NumericInputComponent.d.ts +31 -31
- package/components/lines/NumericInputComponent.js +86 -86
- package/lines/booleanLineComponent.d.ts +11 -11
- package/lines/booleanLineComponent.js +14 -14
- package/lines/buttonLineComponent.d.ts +12 -12
- package/lines/buttonLineComponent.js +10 -10
- package/lines/checkBoxLineComponent.d.ts +36 -36
- package/lines/checkBoxLineComponent.js +88 -88
- package/lines/color3LineComponent.d.ts +18 -18
- package/lines/color3LineComponent.js +9 -9
- package/lines/color4LineComponent.d.ts +18 -18
- package/lines/color4LineComponent.js +9 -9
- package/lines/colorLineComponent.d.ts +40 -40
- package/lines/colorLineComponent.js +144 -144
- package/lines/colorPickerComponent.d.ts +31 -31
- package/lines/colorPickerComponent.js +60 -60
- package/lines/draggableLineComponent.d.ts +9 -9
- package/lines/draggableLineComponent.js +12 -12
- package/lines/fileButtonLineComponent.d.ts +17 -17
- package/lines/fileButtonLineComponent.js +20 -20
- package/lines/fileMultipleButtonLineComponent.d.ts +17 -17
- package/lines/fileMultipleButtonLineComponent.js +20 -20
- package/lines/floatLineComponent.d.ts +50 -50
- package/lines/floatLineComponent.js +175 -175
- package/lines/hexLineComponent.d.ts +40 -40
- package/lines/hexLineComponent.js +121 -121
- package/lines/iSelectedLineContainer.d.ts +4 -4
- package/lines/iSelectedLineContainer.js +1 -1
- package/lines/iconButtonLineComponent.d.ts +11 -11
- package/lines/iconButtonLineComponent.js +10 -10
- package/lines/iconComponent.d.ts +9 -9
- package/lines/iconComponent.js +7 -7
- package/lines/indentedTextLineComponent.d.ts +16 -16
- package/lines/indentedTextLineComponent.js +26 -26
- package/lines/inputArrowsComponent.d.ts +13 -13
- package/lines/inputArrowsComponent.js +37 -37
- package/lines/lineContainerComponent.d.ts +19 -19
- package/lines/lineContainerComponent.js +49 -49
- package/lines/linkButtonComponent.d.ts +16 -16
- package/lines/linkButtonComponent.js +20 -20
- package/lines/matrixLineComponent.d.ts +36 -36
- package/lines/matrixLineComponent.js +102 -102
- package/lines/messageLineComponent.d.ts +12 -12
- package/lines/messageLineComponent.js +14 -14
- package/lines/numericInputComponent.d.ts +31 -31
- package/lines/numericInputComponent.js +85 -85
- package/lines/optionsLineComponent.d.ts +48 -48
- package/lines/optionsLineComponent.js +118 -118
- package/lines/popup.d.ts +4 -4
- package/lines/popup.js +67 -67
- package/lines/radioLineComponent.d.ts +21 -21
- package/lines/radioLineComponent.js +26 -26
- package/lines/sliderLineComponent.d.ts +37 -37
- package/lines/sliderLineComponent.js +89 -89
- package/lines/targetsProxy.d.ts +11 -11
- package/lines/targetsProxy.js +42 -42
- package/lines/textInputLineComponent.d.ts +47 -47
- package/lines/textInputLineComponent.js +154 -154
- package/lines/textLineComponent.d.ts +21 -21
- package/lines/textLineComponent.js +30 -30
- package/lines/unitButton.d.ts +8 -8
- package/lines/unitButton.js +7 -7
- package/lines/valueLineComponent.d.ts +15 -15
- package/lines/valueLineComponent.js +12 -12
- package/lines/vector2LineComponent.d.ts +36 -36
- package/lines/vector2LineComponent.js +63 -63
- package/lines/vector3LineComponent.d.ts +41 -41
- package/lines/vector3LineComponent.js +74 -74
- package/lines/vector4LineComponent.d.ts +42 -42
- package/lines/vector4LineComponent.js +81 -81
- package/nodeGraphSystem/displayLedger.d.ts +5 -5
- package/nodeGraphSystem/displayLedger.js +3 -3
- package/nodeGraphSystem/frameNodePort.d.ts +25 -25
- package/nodeGraphSystem/frameNodePort.js +59 -59
- package/nodeGraphSystem/graphCanvas.d.ts +117 -111
- package/nodeGraphSystem/graphCanvas.js +1137 -1131
- package/nodeGraphSystem/graphCanvas.js.map +1 -1
- package/nodeGraphSystem/graphFrame.d.ts +153 -153
- package/nodeGraphSystem/graphFrame.js +1328 -1328
- package/nodeGraphSystem/graphNode.d.ts +81 -79
- package/nodeGraphSystem/graphNode.js +465 -459
- package/nodeGraphSystem/graphNode.js.map +1 -1
- package/nodeGraphSystem/interfaces/displayManager.d.ts +13 -13
- package/nodeGraphSystem/interfaces/displayManager.js +1 -1
- package/nodeGraphSystem/interfaces/nodeContainer.d.ts +6 -6
- package/nodeGraphSystem/interfaces/nodeContainer.js +1 -1
- package/nodeGraphSystem/interfaces/nodeData.d.ts +15 -15
- package/nodeGraphSystem/interfaces/nodeData.js +1 -1
- package/nodeGraphSystem/interfaces/nodeLocationInfo.d.ts +26 -26
- package/nodeGraphSystem/interfaces/nodeLocationInfo.js +1 -1
- package/nodeGraphSystem/interfaces/portData.d.ts +28 -28
- package/nodeGraphSystem/interfaces/portData.js +7 -7
- package/nodeGraphSystem/interfaces/propertyComponentProps.d.ts +6 -6
- package/nodeGraphSystem/interfaces/propertyComponentProps.js +1 -1
- package/nodeGraphSystem/interfaces/selectionChangedOptions.d.ts +11 -11
- package/nodeGraphSystem/interfaces/selectionChangedOptions.js +1 -1
- package/nodeGraphSystem/nodeLink.d.ts +31 -31
- package/nodeGraphSystem/nodeLink.js +182 -182
- package/nodeGraphSystem/nodePort.d.ts +35 -35
- package/nodeGraphSystem/nodePort.js +128 -128
- package/nodeGraphSystem/propertyLedger.d.ts +8 -8
- package/nodeGraphSystem/propertyLedger.js +3 -3
- package/nodeGraphSystem/stateManager.d.ts +45 -45
- package/nodeGraphSystem/stateManager.js +18 -18
- package/nodeGraphSystem/tools.d.ts +5 -5
- package/nodeGraphSystem/tools.js +36 -36
- package/nodeGraphSystem/typeLedger.d.ts +8 -8
- package/nodeGraphSystem/typeLedger.js +2 -2
- package/nodeGraphSystem/types/framePortData.d.ts +7 -7
- package/nodeGraphSystem/types/framePortData.js +1 -1
- package/package.json +4 -3
- package/propertyChangedEvent.d.ts +7 -7
- package/propertyChangedEvent.js +2 -2
- package/stories/Button.stories.d.ts +10 -10
- package/stories/Button.stories.js +19 -19
- package/stories/Icon.stories.d.ts +9 -9
- package/stories/Icon.stories.js +16 -16
- package/stories/Label.stories.d.ts +8 -8
- package/stories/Label.stories.js +10 -10
- package/stories/MessageDialog.stories.d.ts +9 -9
- package/stories/MessageDialog.stories.js +19 -19
- package/stories/Toggle.stories.d.ts +9 -9
- package/stories/Toggle.stories.js +17 -17
- package/stories/bars/CommandBarComponent.stories.d.ts +11 -11
- package/stories/bars/CommandBarComponent.stories.js +12 -12
- package/stories/bars/CommandButtonComponent.stories.d.ts +6 -6
- package/stories/bars/CommandButtonComponent.stories.js +6 -6
- package/stories/colorPicker/ColorPicker.stories.d.ts +11 -11
- package/stories/colorPicker/ColorPicker.stories.js +4 -4
- package/stories/layout/FlexibleGridLayout.stories.d.ts +46 -0
- package/stories/layout/FlexibleGridLayout.stories.js +48 -0
- package/stories/layout/FlexibleGridLayout.stories.js.map +1 -0
- package/stories/lines/ColorLineComponent.stories.d.ts +21 -21
- package/stories/lines/ColorLineComponent.stories.js +9 -9
- package/stories/lines/ColorPickerLineComponent.stories.d.ts +14 -14
- package/stories/lines/ColorPickerLineComponent.stories.js +10 -10
- package/stories/lines/FileButtonLineComponent.stories.d.ts +6 -6
- package/stories/lines/FileButtonLineComponent.stories.js +5 -5
- package/stories/lines/NumericInputComponent.stories.d.ts +11 -11
- package/stories/lines/NumericInputComponent.stories.js +5 -5
- package/stringTools.d.ts +11 -11
- package/stringTools.js +88 -88
- package/tabs/propertyGrids/gui/checkboxPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/checkboxPropertyGridComponent.js +15 -15
- package/tabs/propertyGrids/gui/colorPickerPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/colorPickerPropertyGridComponent.js +14 -14
- package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.d.ts +17 -17
- package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.js +55 -55
- package/tabs/propertyGrids/gui/controlPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/controlPropertyGridComponent.js +12 -12
- package/tabs/propertyGrids/gui/ellipsePropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/ellipsePropertyGridComponent.js +15 -15
- package/tabs/propertyGrids/gui/gridPropertyGridComponent.d.ts +17 -17
- package/tabs/propertyGrids/gui/gridPropertyGridComponent.js +38 -38
- package/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent.js +16 -16
- package/tabs/propertyGrids/gui/imagePropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/imagePropertyGridComponent.js +25 -25
- package/tabs/propertyGrids/gui/inputTextPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/inputTextPropertyGridComponent.js +17 -17
- package/tabs/propertyGrids/gui/linePropertyGridComponent.d.ts +16 -16
- package/tabs/propertyGrids/gui/linePropertyGridComponent.js +27 -27
- package/tabs/propertyGrids/gui/radioButtonPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/radioButtonPropertyGridComponent.js +17 -17
- package/tabs/propertyGrids/gui/rectanglePropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/rectanglePropertyGridComponent.js +15 -15
- package/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent.js +15 -15
- package/tabs/propertyGrids/gui/sliderPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/sliderPropertyGridComponent.js +16 -16
- package/tabs/propertyGrids/gui/stackPanelPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/stackPanelPropertyGridComponent.js +14 -14
- package/tabs/propertyGrids/gui/textBlockPropertyGridComponent.d.ts +15 -15
- package/tabs/propertyGrids/gui/textBlockPropertyGridComponent.js +34 -34
- package/tabs/propertyGrids/lockObject.d.ts +9 -9
- package/tabs/propertyGrids/lockObject.js +11 -11
@@ -1,129 +1,129 @@
|
|
1
|
-
import commonStyles from "./common.modules.scss";
|
2
|
-
import localStyles from "./nodePort.modules.scss";
|
3
|
-
export class NodePort {
|
4
|
-
constructor(portContainer, portData, node, stateManager) {
|
5
|
-
this.portData = portData;
|
6
|
-
this.node = node;
|
7
|
-
this.delegatedPort = null;
|
8
|
-
this._element = portContainer.ownerDocument.createElement("div");
|
9
|
-
this._element.classList.add(commonStyles.port);
|
10
|
-
portContainer.appendChild(this._element);
|
11
|
-
this._stateManager = stateManager;
|
12
|
-
this._img = portContainer.ownerDocument.createElement("img");
|
13
|
-
this._element.appendChild(this._img);
|
14
|
-
// determine if node name is editable
|
15
|
-
if (portContainer.children[0].className === commonStyles["port-label"]) {
|
16
|
-
this._portLabelElement = portContainer.children[0];
|
17
|
-
}
|
18
|
-
this._element.port = this;
|
19
|
-
// Drag support
|
20
|
-
this._element.ondragstart = () => false;
|
21
|
-
this._onCandidateLinkMovedObserver = stateManager.onCandidateLinkMoved.add((coords) => {
|
22
|
-
const rect = this._element.getBoundingClientRect();
|
23
|
-
if (!coords || rect.left > coords.x || rect.right < coords.x || rect.top > coords.y || rect.bottom < coords.y) {
|
24
|
-
this._element.classList.remove(localStyles["selected"]);
|
25
|
-
return;
|
26
|
-
}
|
27
|
-
this._element.classList.add(localStyles["selected"]);
|
28
|
-
this._stateManager.onCandidatePortSelectedObservable.notifyObservers(this);
|
29
|
-
});
|
30
|
-
this._onSelectionChangedObserver = this._stateManager.onSelectionChangedObservable.add((options) => {
|
31
|
-
const { selection } = options || {};
|
32
|
-
if (selection === this) {
|
33
|
-
this._img.classList.add(localStyles["selected"]);
|
34
|
-
}
|
35
|
-
else {
|
36
|
-
this._img.classList.remove(localStyles["selected"]);
|
37
|
-
}
|
38
|
-
});
|
39
|
-
this.refresh();
|
40
|
-
}
|
41
|
-
get element() {
|
42
|
-
if (this.delegatedPort) {
|
43
|
-
return this.delegatedPort.element;
|
44
|
-
}
|
45
|
-
return this._element;
|
46
|
-
}
|
47
|
-
get portName() {
|
48
|
-
return this.portData.name;
|
49
|
-
}
|
50
|
-
set portName(newName) {
|
51
|
-
if (this._portLabelElement) {
|
52
|
-
this.portData.updateDisplayName(newName);
|
53
|
-
this._portLabelElement.innerHTML = newName;
|
54
|
-
}
|
55
|
-
}
|
56
|
-
get disabled() {
|
57
|
-
if (!this.portData.isConnected) {
|
58
|
-
return false;
|
59
|
-
}
|
60
|
-
else if (this._isConnectedToNodeOutsideOfFrame()) {
|
61
|
-
//connected to outside node
|
62
|
-
return true;
|
63
|
-
}
|
64
|
-
else {
|
65
|
-
const link = this.node.getLinksForPortData(this.portData);
|
66
|
-
if (link.length) {
|
67
|
-
if (link[0].nodeB === this.node) {
|
68
|
-
// check if this node is the receiving
|
69
|
-
return true;
|
70
|
-
}
|
71
|
-
}
|
72
|
-
}
|
73
|
-
return false;
|
74
|
-
}
|
75
|
-
hasLabel() {
|
76
|
-
return !!this._portLabelElement;
|
77
|
-
}
|
78
|
-
get exposedOnFrame() {
|
79
|
-
if (!!this.portData.isExposedOnFrame || this._isConnectedToNodeOutsideOfFrame()) {
|
80
|
-
return true;
|
81
|
-
}
|
82
|
-
return false;
|
83
|
-
}
|
84
|
-
set exposedOnFrame(value) {
|
85
|
-
if (this.disabled) {
|
86
|
-
return;
|
87
|
-
}
|
88
|
-
this.portData.isExposedOnFrame = value;
|
89
|
-
}
|
90
|
-
get exposedPortPosition() {
|
91
|
-
return this.portData.exposedPortPosition;
|
92
|
-
}
|
93
|
-
set exposedPortPosition(value) {
|
94
|
-
this.portData.exposedPortPosition = value;
|
95
|
-
}
|
96
|
-
_isConnectedToNodeOutsideOfFrame() {
|
97
|
-
const link = this.node.getLinksForPortData(this.portData);
|
98
|
-
if (link.length) {
|
99
|
-
for (let i = 0; i < link.length; i++) {
|
100
|
-
if (link[i].nodeA.enclosingFrameId !== link[i].nodeB.enclosingFrameId) {
|
101
|
-
return true;
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|
105
|
-
return false;
|
106
|
-
}
|
107
|
-
refresh() {
|
108
|
-
this._stateManager.applyNodePortDesign(this.portData, this._element, this._img);
|
109
|
-
}
|
110
|
-
dispose() {
|
111
|
-
this._stateManager.onCandidateLinkMoved.remove(this._onCandidateLinkMovedObserver);
|
112
|
-
if (this._onSelectionChangedObserver) {
|
113
|
-
this._stateManager.onSelectionChangedObservable.remove(this._onSelectionChangedObserver);
|
114
|
-
}
|
115
|
-
}
|
116
|
-
static CreatePortElement(portData, node, root, displayManager, stateManager) {
|
117
|
-
const portContainer = root.ownerDocument.createElement("div");
|
118
|
-
portContainer.classList.add(commonStyles.portLine);
|
119
|
-
root.appendChild(portContainer);
|
120
|
-
if (!displayManager || displayManager.shouldDisplayPortLabels(portData)) {
|
121
|
-
const portLabel = root.ownerDocument.createElement("div");
|
122
|
-
portLabel.classList.add(commonStyles["port-label"]);
|
123
|
-
portLabel.innerHTML = portData.name;
|
124
|
-
portContainer.appendChild(portLabel);
|
125
|
-
}
|
126
|
-
return new NodePort(portContainer, portData, node, stateManager);
|
127
|
-
}
|
128
|
-
}
|
1
|
+
import commonStyles from "./common.modules.scss";
|
2
|
+
import localStyles from "./nodePort.modules.scss";
|
3
|
+
export class NodePort {
|
4
|
+
constructor(portContainer, portData, node, stateManager) {
|
5
|
+
this.portData = portData;
|
6
|
+
this.node = node;
|
7
|
+
this.delegatedPort = null;
|
8
|
+
this._element = portContainer.ownerDocument.createElement("div");
|
9
|
+
this._element.classList.add(commonStyles.port);
|
10
|
+
portContainer.appendChild(this._element);
|
11
|
+
this._stateManager = stateManager;
|
12
|
+
this._img = portContainer.ownerDocument.createElement("img");
|
13
|
+
this._element.appendChild(this._img);
|
14
|
+
// determine if node name is editable
|
15
|
+
if (portContainer.children[0].className === commonStyles["port-label"]) {
|
16
|
+
this._portLabelElement = portContainer.children[0];
|
17
|
+
}
|
18
|
+
this._element.port = this;
|
19
|
+
// Drag support
|
20
|
+
this._element.ondragstart = () => false;
|
21
|
+
this._onCandidateLinkMovedObserver = stateManager.onCandidateLinkMoved.add((coords) => {
|
22
|
+
const rect = this._element.getBoundingClientRect();
|
23
|
+
if (!coords || rect.left > coords.x || rect.right < coords.x || rect.top > coords.y || rect.bottom < coords.y) {
|
24
|
+
this._element.classList.remove(localStyles["selected"]);
|
25
|
+
return;
|
26
|
+
}
|
27
|
+
this._element.classList.add(localStyles["selected"]);
|
28
|
+
this._stateManager.onCandidatePortSelectedObservable.notifyObservers(this);
|
29
|
+
});
|
30
|
+
this._onSelectionChangedObserver = this._stateManager.onSelectionChangedObservable.add((options) => {
|
31
|
+
const { selection } = options || {};
|
32
|
+
if (selection === this) {
|
33
|
+
this._img.classList.add(localStyles["selected"]);
|
34
|
+
}
|
35
|
+
else {
|
36
|
+
this._img.classList.remove(localStyles["selected"]);
|
37
|
+
}
|
38
|
+
});
|
39
|
+
this.refresh();
|
40
|
+
}
|
41
|
+
get element() {
|
42
|
+
if (this.delegatedPort) {
|
43
|
+
return this.delegatedPort.element;
|
44
|
+
}
|
45
|
+
return this._element;
|
46
|
+
}
|
47
|
+
get portName() {
|
48
|
+
return this.portData.name;
|
49
|
+
}
|
50
|
+
set portName(newName) {
|
51
|
+
if (this._portLabelElement) {
|
52
|
+
this.portData.updateDisplayName(newName);
|
53
|
+
this._portLabelElement.innerHTML = newName;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
get disabled() {
|
57
|
+
if (!this.portData.isConnected) {
|
58
|
+
return false;
|
59
|
+
}
|
60
|
+
else if (this._isConnectedToNodeOutsideOfFrame()) {
|
61
|
+
//connected to outside node
|
62
|
+
return true;
|
63
|
+
}
|
64
|
+
else {
|
65
|
+
const link = this.node.getLinksForPortData(this.portData);
|
66
|
+
if (link.length) {
|
67
|
+
if (link[0].nodeB === this.node) {
|
68
|
+
// check if this node is the receiving
|
69
|
+
return true;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
}
|
73
|
+
return false;
|
74
|
+
}
|
75
|
+
hasLabel() {
|
76
|
+
return !!this._portLabelElement;
|
77
|
+
}
|
78
|
+
get exposedOnFrame() {
|
79
|
+
if (!!this.portData.isExposedOnFrame || this._isConnectedToNodeOutsideOfFrame()) {
|
80
|
+
return true;
|
81
|
+
}
|
82
|
+
return false;
|
83
|
+
}
|
84
|
+
set exposedOnFrame(value) {
|
85
|
+
if (this.disabled) {
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
this.portData.isExposedOnFrame = value;
|
89
|
+
}
|
90
|
+
get exposedPortPosition() {
|
91
|
+
return this.portData.exposedPortPosition;
|
92
|
+
}
|
93
|
+
set exposedPortPosition(value) {
|
94
|
+
this.portData.exposedPortPosition = value;
|
95
|
+
}
|
96
|
+
_isConnectedToNodeOutsideOfFrame() {
|
97
|
+
const link = this.node.getLinksForPortData(this.portData);
|
98
|
+
if (link.length) {
|
99
|
+
for (let i = 0; i < link.length; i++) {
|
100
|
+
if (link[i].nodeA.enclosingFrameId !== link[i].nodeB.enclosingFrameId) {
|
101
|
+
return true;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
return false;
|
106
|
+
}
|
107
|
+
refresh() {
|
108
|
+
this._stateManager.applyNodePortDesign(this.portData, this._element, this._img);
|
109
|
+
}
|
110
|
+
dispose() {
|
111
|
+
this._stateManager.onCandidateLinkMoved.remove(this._onCandidateLinkMovedObserver);
|
112
|
+
if (this._onSelectionChangedObserver) {
|
113
|
+
this._stateManager.onSelectionChangedObservable.remove(this._onSelectionChangedObserver);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
static CreatePortElement(portData, node, root, displayManager, stateManager) {
|
117
|
+
const portContainer = root.ownerDocument.createElement("div");
|
118
|
+
portContainer.classList.add(commonStyles.portLine);
|
119
|
+
root.appendChild(portContainer);
|
120
|
+
if (!displayManager || displayManager.shouldDisplayPortLabels(portData)) {
|
121
|
+
const portLabel = root.ownerDocument.createElement("div");
|
122
|
+
portLabel.classList.add(commonStyles["port-label"]);
|
123
|
+
portLabel.innerHTML = portData.name;
|
124
|
+
portContainer.appendChild(portLabel);
|
125
|
+
}
|
126
|
+
return new NodePort(portContainer, portData, node, stateManager);
|
127
|
+
}
|
128
|
+
}
|
129
129
|
//# sourceMappingURL=nodePort.js.map
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import type { ComponentClass } from "react";
|
2
|
-
import type { IPropertyComponentProps } from "./interfaces/propertyComponentProps";
|
3
|
-
export declare class PropertyLedger {
|
4
|
-
static DefaultControl: ComponentClass<IPropertyComponentProps>;
|
5
|
-
static RegisteredControls: {
|
6
|
-
[key: string]: ComponentClass<IPropertyComponentProps>;
|
7
|
-
};
|
8
|
-
}
|
1
|
+
import type { ComponentClass } from "react";
|
2
|
+
import type { IPropertyComponentProps } from "./interfaces/propertyComponentProps";
|
3
|
+
export declare class PropertyLedger {
|
4
|
+
static DefaultControl: ComponentClass<IPropertyComponentProps>;
|
5
|
+
static RegisteredControls: {
|
6
|
+
[key: string]: ComponentClass<IPropertyComponentProps>;
|
7
|
+
};
|
8
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export class PropertyLedger {
|
2
|
-
}
|
3
|
-
PropertyLedger.RegisteredControls = {};
|
1
|
+
export class PropertyLedger {
|
2
|
+
}
|
3
|
+
PropertyLedger.RegisteredControls = {};
|
4
4
|
//# sourceMappingURL=propertyLedger.js.map
|
@@ -1,45 +1,45 @@
|
|
1
|
-
import type { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
2
|
-
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
3
|
-
import type { Nullable } from "@babylonjs/core/types.js";
|
4
|
-
import type { FrameNodePort } from "./frameNodePort";
|
5
|
-
import type { GraphFrame } from "./graphFrame";
|
6
|
-
import type { GraphNode } from "./graphNode";
|
7
|
-
import type { INodeContainer } from "./interfaces/nodeContainer";
|
8
|
-
import type { INodeData } from "./interfaces/nodeData";
|
9
|
-
import type { IPortData } from "./interfaces/portData";
|
10
|
-
import type { ISelectionChangedOptions } from "./interfaces/selectionChangedOptions";
|
11
|
-
import type { NodePort } from "./nodePort";
|
12
|
-
export declare class StateManager {
|
13
|
-
data: any;
|
14
|
-
hostDocument: Document;
|
15
|
-
lockObject: any;
|
16
|
-
onSelectionChangedObservable: Observable<Nullable<ISelectionChangedOptions>>;
|
17
|
-
onFrameCreatedObservable: Observable<GraphFrame>;
|
18
|
-
onUpdateRequiredObservable: Observable<any>;
|
19
|
-
onGraphNodeRemovalObservable: Observable<GraphNode>;
|
20
|
-
onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
|
21
|
-
onCandidateLinkMoved: Observable<Nullable<Vector2>>;
|
22
|
-
onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
|
23
|
-
onNewNodeCreatedObservable: Observable<GraphNode>;
|
24
|
-
onRebuildRequiredObservable: Observable<boolean>;
|
25
|
-
onErrorMessageDialogRequiredObservable: Observable<string>;
|
26
|
-
onExposePortOnFrameObservable: Observable<GraphNode>;
|
27
|
-
onGridSizeChanged: Observable<void>;
|
28
|
-
onNewBlockRequiredObservable: Observable<{
|
29
|
-
type: string;
|
30
|
-
targetX: number;
|
31
|
-
targetY: number;
|
32
|
-
needRepositioning?: boolean | undefined;
|
33
|
-
}>;
|
34
|
-
exportData: (data: any, frame?: Nullable<GraphFrame>) => string;
|
35
|
-
isElbowConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
|
36
|
-
applyNodePortDesign: (data: IPortData, element: HTMLElement, img: HTMLImageElement) => void;
|
37
|
-
storeEditorData: (serializationObject: any, frame?: Nullable<GraphFrame>) => void;
|
38
|
-
getEditorDataMap: () => {
|
39
|
-
[key: number]: number;
|
40
|
-
};
|
41
|
-
createDefaultInputData: (rootData: any, portData: IPortData, nodeContainer: INodeContainer) => Nullable<{
|
42
|
-
data: INodeData;
|
43
|
-
name: string;
|
44
|
-
}>;
|
45
|
-
}
|
1
|
+
import type { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
2
|
+
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
3
|
+
import type { Nullable } from "@babylonjs/core/types.js";
|
4
|
+
import type { FrameNodePort } from "./frameNodePort";
|
5
|
+
import type { GraphFrame } from "./graphFrame";
|
6
|
+
import type { GraphNode } from "./graphNode";
|
7
|
+
import type { INodeContainer } from "./interfaces/nodeContainer";
|
8
|
+
import type { INodeData } from "./interfaces/nodeData";
|
9
|
+
import type { IPortData } from "./interfaces/portData";
|
10
|
+
import type { ISelectionChangedOptions } from "./interfaces/selectionChangedOptions";
|
11
|
+
import type { NodePort } from "./nodePort";
|
12
|
+
export declare class StateManager {
|
13
|
+
data: any;
|
14
|
+
hostDocument: Document;
|
15
|
+
lockObject: any;
|
16
|
+
onSelectionChangedObservable: Observable<Nullable<ISelectionChangedOptions>>;
|
17
|
+
onFrameCreatedObservable: Observable<GraphFrame>;
|
18
|
+
onUpdateRequiredObservable: Observable<any>;
|
19
|
+
onGraphNodeRemovalObservable: Observable<GraphNode>;
|
20
|
+
onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
|
21
|
+
onCandidateLinkMoved: Observable<Nullable<Vector2>>;
|
22
|
+
onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
|
23
|
+
onNewNodeCreatedObservable: Observable<GraphNode>;
|
24
|
+
onRebuildRequiredObservable: Observable<boolean>;
|
25
|
+
onErrorMessageDialogRequiredObservable: Observable<string>;
|
26
|
+
onExposePortOnFrameObservable: Observable<GraphNode>;
|
27
|
+
onGridSizeChanged: Observable<void>;
|
28
|
+
onNewBlockRequiredObservable: Observable<{
|
29
|
+
type: string;
|
30
|
+
targetX: number;
|
31
|
+
targetY: number;
|
32
|
+
needRepositioning?: boolean | undefined;
|
33
|
+
}>;
|
34
|
+
exportData: (data: any, frame?: Nullable<GraphFrame>) => string;
|
35
|
+
isElbowConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
|
36
|
+
applyNodePortDesign: (data: IPortData, element: HTMLElement, img: HTMLImageElement) => void;
|
37
|
+
storeEditorData: (serializationObject: any, frame?: Nullable<GraphFrame>) => void;
|
38
|
+
getEditorDataMap: () => {
|
39
|
+
[key: number]: number;
|
40
|
+
};
|
41
|
+
createDefaultInputData: (rootData: any, portData: IPortData, nodeContainer: INodeContainer) => Nullable<{
|
42
|
+
data: INodeData;
|
43
|
+
name: string;
|
44
|
+
}>;
|
45
|
+
}
|
@@ -1,19 +1,19 @@
|
|
1
|
-
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
2
|
-
export class StateManager {
|
3
|
-
constructor() {
|
4
|
-
this.onSelectionChangedObservable = new Observable();
|
5
|
-
this.onFrameCreatedObservable = new Observable();
|
6
|
-
this.onUpdateRequiredObservable = new Observable();
|
7
|
-
this.onGraphNodeRemovalObservable = new Observable();
|
8
|
-
this.onSelectionBoxMoved = new Observable();
|
9
|
-
this.onCandidateLinkMoved = new Observable();
|
10
|
-
this.onCandidatePortSelectedObservable = new Observable();
|
11
|
-
this.onNewNodeCreatedObservable = new Observable();
|
12
|
-
this.onRebuildRequiredObservable = new Observable();
|
13
|
-
this.onErrorMessageDialogRequiredObservable = new Observable();
|
14
|
-
this.onExposePortOnFrameObservable = new Observable();
|
15
|
-
this.onGridSizeChanged = new Observable();
|
16
|
-
this.onNewBlockRequiredObservable = new Observable();
|
17
|
-
}
|
18
|
-
}
|
1
|
+
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
2
|
+
export class StateManager {
|
3
|
+
constructor() {
|
4
|
+
this.onSelectionChangedObservable = new Observable();
|
5
|
+
this.onFrameCreatedObservable = new Observable();
|
6
|
+
this.onUpdateRequiredObservable = new Observable();
|
7
|
+
this.onGraphNodeRemovalObservable = new Observable();
|
8
|
+
this.onSelectionBoxMoved = new Observable();
|
9
|
+
this.onCandidateLinkMoved = new Observable();
|
10
|
+
this.onCandidatePortSelectedObservable = new Observable();
|
11
|
+
this.onNewNodeCreatedObservable = new Observable();
|
12
|
+
this.onRebuildRequiredObservable = new Observable();
|
13
|
+
this.onErrorMessageDialogRequiredObservable = new Observable();
|
14
|
+
this.onExposePortOnFrameObservable = new Observable();
|
15
|
+
this.onGridSizeChanged = new Observable();
|
16
|
+
this.onNewBlockRequiredObservable = new Observable();
|
17
|
+
}
|
18
|
+
}
|
19
19
|
//# sourceMappingURL=stateManager.js.map
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import type { GraphNode } from "./graphNode";
|
2
|
-
import type { NodeLink } from "./nodeLink";
|
3
|
-
import type { FramePortData } from "./types/framePortData";
|
4
|
-
export declare const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
|
5
|
-
export declare const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode> | undefined, visitedLinks?: Set<NodeLink> | undefined) => void;
|
1
|
+
import type { GraphNode } from "./graphNode";
|
2
|
+
import type { NodeLink } from "./nodeLink";
|
3
|
+
import type { FramePortData } from "./types/framePortData";
|
4
|
+
export declare const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
|
5
|
+
export declare const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode> | undefined, visitedLinks?: Set<NodeLink> | undefined) => void;
|
package/nodeGraphSystem/tools.js
CHANGED
@@ -1,37 +1,37 @@
|
|
1
|
-
export const IsFramePortData = (variableToCheck) => {
|
2
|
-
if (variableToCheck) {
|
3
|
-
return variableToCheck.port !== undefined;
|
4
|
-
}
|
5
|
-
else {
|
6
|
-
return false;
|
7
|
-
}
|
8
|
-
};
|
9
|
-
export const RefreshNode = (node, visitedNodes, visitedLinks) => {
|
10
|
-
node.refresh();
|
11
|
-
const links = node.links;
|
12
|
-
if (visitedNodes) {
|
13
|
-
// refresh first the nodes so that the right types are assigned to the auto-detect ports
|
14
|
-
links.forEach((link) => {
|
15
|
-
const nodeA = link.nodeA, nodeB = link.nodeB;
|
16
|
-
if (!visitedNodes.has(nodeA)) {
|
17
|
-
visitedNodes.add(nodeA);
|
18
|
-
RefreshNode(nodeA, visitedNodes, visitedLinks);
|
19
|
-
}
|
20
|
-
if (nodeB && !visitedNodes.has(nodeB)) {
|
21
|
-
visitedNodes.add(nodeB);
|
22
|
-
RefreshNode(nodeB, visitedNodes, visitedLinks);
|
23
|
-
}
|
24
|
-
});
|
25
|
-
}
|
26
|
-
if (!visitedLinks) {
|
27
|
-
return;
|
28
|
-
}
|
29
|
-
// then refresh the links to display the right color between ports
|
30
|
-
links.forEach((link) => {
|
31
|
-
if (!visitedLinks.has(link)) {
|
32
|
-
visitedLinks.add(link);
|
33
|
-
link.update();
|
34
|
-
}
|
35
|
-
});
|
36
|
-
};
|
1
|
+
export const IsFramePortData = (variableToCheck) => {
|
2
|
+
if (variableToCheck) {
|
3
|
+
return variableToCheck.port !== undefined;
|
4
|
+
}
|
5
|
+
else {
|
6
|
+
return false;
|
7
|
+
}
|
8
|
+
};
|
9
|
+
export const RefreshNode = (node, visitedNodes, visitedLinks) => {
|
10
|
+
node.refresh();
|
11
|
+
const links = node.links;
|
12
|
+
if (visitedNodes) {
|
13
|
+
// refresh first the nodes so that the right types are assigned to the auto-detect ports
|
14
|
+
links.forEach((link) => {
|
15
|
+
const nodeA = link.nodeA, nodeB = link.nodeB;
|
16
|
+
if (!visitedNodes.has(nodeA)) {
|
17
|
+
visitedNodes.add(nodeA);
|
18
|
+
RefreshNode(nodeA, visitedNodes, visitedLinks);
|
19
|
+
}
|
20
|
+
if (nodeB && !visitedNodes.has(nodeB)) {
|
21
|
+
visitedNodes.add(nodeB);
|
22
|
+
RefreshNode(nodeB, visitedNodes, visitedLinks);
|
23
|
+
}
|
24
|
+
});
|
25
|
+
}
|
26
|
+
if (!visitedLinks) {
|
27
|
+
return;
|
28
|
+
}
|
29
|
+
// then refresh the links to display the right color between ports
|
30
|
+
links.forEach((link) => {
|
31
|
+
if (!visitedLinks.has(link)) {
|
32
|
+
visitedLinks.add(link);
|
33
|
+
link.update();
|
34
|
+
}
|
35
|
+
});
|
36
|
+
};
|
37
37
|
//# sourceMappingURL=tools.js.map
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import type { INodeContainer } from "./interfaces/nodeContainer";
|
2
|
-
import type { INodeData } from "./interfaces/nodeData";
|
3
|
-
import type { IPortData } from "./interfaces/portData";
|
4
|
-
import type { NodePort } from "./nodePort";
|
5
|
-
export declare class TypeLedger {
|
6
|
-
static PortDataBuilder: (port: NodePort, nodeContainer: INodeContainer) => IPortData;
|
7
|
-
static NodeDataBuilder: (data: any, nodeContainer: INodeContainer) => INodeData;
|
8
|
-
}
|
1
|
+
import type { INodeContainer } from "./interfaces/nodeContainer";
|
2
|
+
import type { INodeData } from "./interfaces/nodeData";
|
3
|
+
import type { IPortData } from "./interfaces/portData";
|
4
|
+
import type { NodePort } from "./nodePort";
|
5
|
+
export declare class TypeLedger {
|
6
|
+
static PortDataBuilder: (port: NodePort, nodeContainer: INodeContainer) => IPortData;
|
7
|
+
static NodeDataBuilder: (data: any, nodeContainer: INodeContainer) => INodeData;
|
8
|
+
}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export class TypeLedger {
|
2
|
-
}
|
1
|
+
export class TypeLedger {
|
2
|
+
}
|
3
3
|
//# sourceMappingURL=typeLedger.js.map
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import type { GraphFrame } from "../graphFrame";
|
2
|
-
declare type FrameNodePort = import("../frameNodePort").FrameNodePort;
|
3
|
-
export declare type FramePortData = {
|
4
|
-
frame: GraphFrame;
|
5
|
-
port: FrameNodePort;
|
6
|
-
};
|
7
|
-
export {};
|
1
|
+
import type { GraphFrame } from "../graphFrame";
|
2
|
+
declare type FrameNodePort = import("../frameNodePort").FrameNodePort;
|
3
|
+
export declare type FramePortData = {
|
4
|
+
frame: GraphFrame;
|
5
|
+
port: FrameNodePort;
|
6
|
+
};
|
7
|
+
export {};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export {};
|
1
|
+
export {};
|
2
2
|
//# sourceMappingURL=framePortData.js.map
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@babylonjs/shared-ui-components",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.30.0",
|
4
4
|
"main": "index.js",
|
5
5
|
"module": "index.js",
|
6
6
|
"types": "index.d.ts",
|
@@ -21,8 +21,8 @@
|
|
21
21
|
},
|
22
22
|
"devDependencies": {
|
23
23
|
"@dev/build-tools": "^1.0.0",
|
24
|
-
"@lts/gui": "1.0.0",
|
25
24
|
"@lts/core": "1.0.0",
|
25
|
+
"@lts/gui": "1.0.0",
|
26
26
|
"rimraf": "^3.0.2",
|
27
27
|
"typescript": "^4.4.4"
|
28
28
|
},
|
@@ -30,6 +30,8 @@
|
|
30
30
|
"@babylonjs/core": "^5.22.0",
|
31
31
|
"@babylonjs/gui": "^5.22.0",
|
32
32
|
"react": "^17.0.2",
|
33
|
+
"react-dnd": "15.0.1",
|
34
|
+
"react-dnd-touch-backend": "15.0.1",
|
33
35
|
"react-dom": "^17.0.2"
|
34
36
|
},
|
35
37
|
"keywords": [
|
@@ -52,4 +54,3 @@
|
|
52
54
|
"url": "https://github.com/BabylonJS/Babylon.js/issues"
|
53
55
|
}
|
54
56
|
}
|
55
|
-
|
@@ -1,7 +1,7 @@
|
|
1
|
-
export declare class PropertyChangedEvent {
|
2
|
-
object: any;
|
3
|
-
property: string;
|
4
|
-
value: any;
|
5
|
-
initialValue: any;
|
6
|
-
allowNullValue?: boolean;
|
7
|
-
}
|
1
|
+
export declare class PropertyChangedEvent {
|
2
|
+
object: any;
|
3
|
+
property: string;
|
4
|
+
value: any;
|
5
|
+
initialValue: any;
|
6
|
+
allowNullValue?: boolean;
|
7
|
+
}
|
package/propertyChangedEvent.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
export class PropertyChangedEvent {
|
2
|
-
}
|
1
|
+
export class PropertyChangedEvent {
|
2
|
+
}
|
3
3
|
//# sourceMappingURL=propertyChangedEvent.js.map
|
@@ -1,10 +1,10 @@
|
|
1
|
-
/// <reference types="react" />
|
2
|
-
import type { ButtonProps } from "../components/Button";
|
3
|
-
declare const _default: {
|
4
|
-
title: string;
|
5
|
-
component: import("react").FC<ButtonProps>;
|
6
|
-
};
|
7
|
-
export default _default;
|
8
|
-
export declare const Default: any;
|
9
|
-
export declare const Wide: any;
|
10
|
-
export declare const Small: any;
|
1
|
+
/// <reference types="react" />
|
2
|
+
import type { ButtonProps } from "../components/Button";
|
3
|
+
declare const _default: {
|
4
|
+
title: string;
|
5
|
+
component: import("react").FC<ButtonProps>;
|
6
|
+
};
|
7
|
+
export default _default;
|
8
|
+
export declare const Default: any;
|
9
|
+
export declare const Wide: any;
|
10
|
+
export declare const Small: any;
|