sunrize 2.1.9 → 2.1.11
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/package.json +13 -5
- package/src/Application/ActionKeys.js +1 -1
- package/src/Application/DataStorage.js +1 -1
- package/src/Application/Document.js +1 -1
- package/src/Application/Footer.js +15 -15
- package/src/Application/Hierarchy.js +1 -1
- package/src/Application/Registry.js +1 -1
- package/src/Application/Selection.js +1 -1
- package/src/Application/Sidebar.js +16 -16
- package/src/Application/Tabs.js +2 -2
- package/src/Bits/MimeTypes.js +1 -1
- package/src/Controls/AnimationPropertiesPopover.js +3 -3
- package/src/Controls/Dialog.js +2 -2
- package/src/Controls/EditNodePopover.js +1 -1
- package/src/Controls/EditUserDefinedFieldPopover.js +1 -1
- package/src/Controls/ExportNodePopover.js +1 -1
- package/src/Controls/ImportNodePopover.js +1 -1
- package/src/Controls/RenameNodeInput.js +1 -1
- package/src/Controls/Splitter.js +2 -2
- package/src/Controls/Tabs.js +25 -25
- package/src/Controls/TexturePreviewPopover.js +3 -3
- package/src/Controls/VideoPreviewPopover.js +3 -3
- package/src/Editors/AnimationEditor.js +10 -10
- package/src/Editors/AnimationMemberList.js +1 -1
- package/src/Editors/FileManager.js +7 -7
- package/src/Editors/Library.js +2 -2
- package/src/Editors/OutlineEditor.js +37 -37
- package/src/Editors/OutlineRouteGraph.js +2 -2
- package/src/Editors/OutlineView.js +97 -97
- package/src/Editors/Panel.js +10 -10
- package/src/Editors/SceneProperties.js +8 -8
- package/src/Editors/ScriptEditor.js +7 -7
- package/src/Editors/Units.js +1 -1
- package/src/Parser/AudioParser.js +1 -1
- package/src/Parser/ImageParser.js +1 -1
- package/src/Parser/VideoParser.js +1 -1
- package/src/Tools/CADGeometry/CADAssemblyTool.js +4 -4
- package/src/Tools/CADGeometry/CADFaceTool.js +4 -4
- package/src/Tools/CADGeometry/CADLayerTool.js +4 -4
- package/src/Tools/CADGeometry/CADPartTool.js +4 -4
- package/src/Tools/Core/X3DBaseTool.js +1 -1
- package/src/Tools/Core/X3DNodeTool.js +1 -1
- package/src/Tools/Core/X3DPrototypeInstanceTool.js +1 -1
- package/src/Tools/Grouping/GroupTool.js +1 -1
- package/src/Tools/Grouping/StaticGroupTool.js +4 -4
- package/src/Tools/Grouping/SwitchTool.js +4 -4
- package/src/Tools/Grouping/TransformTool.js +4 -4
- package/src/Tools/HAnim/HAnimHumanoidTool.js +4 -4
- package/src/Tools/HAnim/HAnimJointTool.js +4 -4
- package/src/Tools/HAnim/HAnimSegmentTool.js +4 -4
- package/src/Tools/HAnim/HAnimSiteTool.js +4 -4
- package/src/Tools/Layering/LayerTool.js +3 -3
- package/src/Tools/Layering/ViewportTool.js +1 -1
- package/src/Tools/Networking/AnchorTool.js +4 -4
- package/src/Tools/Networking/InlineGeometryTool.js +1 -1
- package/src/Tools/Networking/InlineTool.js +4 -4
- package/src/Undo/Editor.js +68 -68
- package/src/Undo/UndoManager.js +1 -1
|
@@ -566,82 +566,82 @@ module .exports = class OutlineView extends Interface
|
|
|
566
566
|
expandSceneExportedNodes (parent, scene)
|
|
567
567
|
{
|
|
568
568
|
if (!(scene instanceof X3D .X3DScene))
|
|
569
|
-
return $("<div></div>")
|
|
569
|
+
return $("<div></div>");
|
|
570
570
|
|
|
571
571
|
const child = $("<div></div>")
|
|
572
|
-
.addClass (["exported-nodes", "subtree"])
|
|
572
|
+
.addClass (["exported-nodes", "subtree"]);
|
|
573
573
|
|
|
574
|
-
scene .exportedNodes .addInterest ("updateSceneSubtree", this, parent, scene, "exported-nodes", "expandSceneExportedNodes")
|
|
574
|
+
scene .exportedNodes .addInterest ("updateSceneSubtree", this, parent, scene, "exported-nodes", "expandSceneExportedNodes");
|
|
575
575
|
|
|
576
576
|
if (!scene .exportedNodes .length)
|
|
577
|
-
return child .appendTo (parent)
|
|
577
|
+
return child .appendTo (parent);
|
|
578
578
|
|
|
579
579
|
const exportedNodes = Array .from (scene .exportedNodes) .sort ((a, b) =>
|
|
580
580
|
{
|
|
581
|
-
return this .naturalCompare (a .getExportedName (), b .getExportedName ())
|
|
581
|
+
return this .naturalCompare (a .getExportedName (), b .getExportedName ());
|
|
582
582
|
})
|
|
583
583
|
.sort ((a, b) =>
|
|
584
584
|
{
|
|
585
|
-
return this .naturalCompare (a .getLocalNode () .getTypeName (), b .getLocalNode () .getTypeName ())
|
|
586
|
-
})
|
|
585
|
+
return this .naturalCompare (a .getLocalNode () .getTypeName (), b .getLocalNode () .getTypeName ());
|
|
586
|
+
});
|
|
587
587
|
|
|
588
588
|
const ul = $("<ul></ul>")
|
|
589
|
-
.appendTo (child)
|
|
589
|
+
.appendTo (child);
|
|
590
590
|
|
|
591
591
|
$("<li></li>")
|
|
592
592
|
.addClass (["exported-nodes", "description", "no-select"])
|
|
593
593
|
.text ("Exported Nodes")
|
|
594
|
-
.appendTo (ul)
|
|
594
|
+
.appendTo (ul);
|
|
595
595
|
|
|
596
596
|
for (const exportedNode of exportedNodes)
|
|
597
597
|
{
|
|
598
|
-
ul .append (this .createExportedNodeElement ("exported-node", parent, exportedNode) .prop ("outerHTML"))
|
|
598
|
+
ul .append (this .createExportedNodeElement ("exported-node", parent, exportedNode) .prop ("outerHTML"));
|
|
599
599
|
}
|
|
600
600
|
|
|
601
601
|
// Added to prevent bug, that last route is not drawn right.
|
|
602
602
|
$("<li></li>")
|
|
603
603
|
.addClass (["last", "no-select"])
|
|
604
|
-
.appendTo (ul)
|
|
604
|
+
.appendTo (ul);
|
|
605
605
|
|
|
606
|
-
this .connectSceneSubtree (parent, child)
|
|
606
|
+
this .connectSceneSubtree (parent, child);
|
|
607
607
|
|
|
608
|
-
return child
|
|
608
|
+
return child;
|
|
609
609
|
}
|
|
610
610
|
|
|
611
611
|
createSceneElement (scene, typeName, classes)
|
|
612
612
|
{
|
|
613
|
-
this .objects .set (scene .getId (), scene)
|
|
613
|
+
this .objects .set (scene .getId (), scene);
|
|
614
614
|
|
|
615
615
|
// Scene
|
|
616
616
|
|
|
617
617
|
const child = $("<li></li>")
|
|
618
618
|
.addClass ("scene")
|
|
619
619
|
.addClass (classes)
|
|
620
|
-
.attr ("node-id", scene .getId ())
|
|
620
|
+
.attr ("node-id", scene .getId ());
|
|
621
621
|
|
|
622
622
|
// Icon
|
|
623
623
|
|
|
624
624
|
const icon = $("<img></img>")
|
|
625
625
|
.addClass ("icon")
|
|
626
626
|
.attr ("src", "../images/OutlineEditor/Node/X3DExecutionContext.svg")
|
|
627
|
-
.appendTo (child)
|
|
627
|
+
.appendTo (child);
|
|
628
628
|
|
|
629
629
|
// Name
|
|
630
630
|
|
|
631
631
|
const name = $("<div></div>")
|
|
632
632
|
.addClass ("name")
|
|
633
|
-
.appendTo (child)
|
|
633
|
+
.appendTo (child);
|
|
634
634
|
|
|
635
635
|
$("<span></span>")
|
|
636
636
|
.addClass ("field-name")
|
|
637
637
|
.text (typeName)
|
|
638
|
-
.appendTo (name)
|
|
638
|
+
.appendTo (name);
|
|
639
639
|
|
|
640
640
|
// Append empty tree to enable expander.
|
|
641
641
|
|
|
642
|
-
$("<ul><li></li></ul>") .appendTo (child)
|
|
642
|
+
$("<ul><li></li></ul>") .appendTo (child);
|
|
643
643
|
|
|
644
|
-
return child
|
|
644
|
+
return child;
|
|
645
645
|
}
|
|
646
646
|
|
|
647
647
|
updateNode (parent, node, full)
|
|
@@ -765,7 +765,7 @@ module .exports = class OutlineView extends Interface
|
|
|
765
765
|
|
|
766
766
|
if (node .checkLoadState () === X3D .X3DConstants .COMPLETE_STATE && this .expandInlineNodes && node .getType () .includes (X3D .X3DConstants .Inline))
|
|
767
767
|
{
|
|
768
|
-
ul .append (this .createSceneElement (node .getInternalScene (), "Scene", "internal-scene"))
|
|
768
|
+
ul .append (this .createSceneElement (node .getInternalScene (), "Scene", "internal-scene"));
|
|
769
769
|
}
|
|
770
770
|
else
|
|
771
771
|
{
|
|
@@ -804,7 +804,7 @@ module .exports = class OutlineView extends Interface
|
|
|
804
804
|
.find (".item") .append ("<div class=\"route-curves-wrapper\"><canvas class=\"route-curves\"></canvas></div>");
|
|
805
805
|
|
|
806
806
|
child .find (".field .name, .field .icon, .special .name, .special .icon")
|
|
807
|
-
.on ("click", this .selectField .bind (this))
|
|
807
|
+
.on ("click", this .selectField .bind (this));
|
|
808
808
|
|
|
809
809
|
child .find (".field .name, .special .name")
|
|
810
810
|
.on ("mouseenter", this .updateFieldTitle .bind (this));
|
|
@@ -1059,7 +1059,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1059
1059
|
|
|
1060
1060
|
name .append (document .createTextNode (" "));
|
|
1061
1061
|
|
|
1062
|
-
const cloneCount = node .getCloneCount ?.() ?? 0
|
|
1062
|
+
const cloneCount = node .getCloneCount ?.() ?? 0;
|
|
1063
1063
|
|
|
1064
1064
|
$("<span></span>")
|
|
1065
1065
|
.addClass ("clone-count")
|
|
@@ -1265,7 +1265,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1265
1265
|
}
|
|
1266
1266
|
}
|
|
1267
1267
|
|
|
1268
|
-
buttons .sort ((a, b) => a .attr ("order") - b .attr ("order"))
|
|
1268
|
+
buttons .sort ((a, b) => a .attr ("order") - b .attr ("order"));
|
|
1269
1269
|
|
|
1270
1270
|
for (const button of buttons)
|
|
1271
1271
|
{
|
|
@@ -1279,7 +1279,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1279
1279
|
this .sceneGraph
|
|
1280
1280
|
.find (`.node[node-id=${node .getId ()}], .exported-node[node-id=${node .getId ()}]`)
|
|
1281
1281
|
.find ("> .item .node-type-name")
|
|
1282
|
-
.text (node .getTypeName ())
|
|
1282
|
+
.text (node .getTypeName ());
|
|
1283
1283
|
}
|
|
1284
1284
|
|
|
1285
1285
|
updateNodeName (node)
|
|
@@ -1287,7 +1287,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1287
1287
|
this .sceneGraph
|
|
1288
1288
|
.find (`.node[node-id=${node .getId ()}], .exported-node[node-id=${node .getId ()}]`)
|
|
1289
1289
|
.find ("> .item .node-name")
|
|
1290
|
-
.text (node .getDisplayName ())
|
|
1290
|
+
.text (node .getDisplayName ());
|
|
1291
1291
|
}
|
|
1292
1292
|
|
|
1293
1293
|
updateExportedNodeName (exportedNode)
|
|
@@ -1495,7 +1495,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1495
1495
|
|
|
1496
1496
|
name .append (document .createTextNode (" "));
|
|
1497
1497
|
|
|
1498
|
-
const cloneCount = node .getCloneCount ?.() ?? 0
|
|
1498
|
+
const cloneCount = node .getCloneCount ?.() ?? 0;
|
|
1499
1499
|
|
|
1500
1500
|
$("<span></span>")
|
|
1501
1501
|
.addClass ("clone-count")
|
|
@@ -1946,14 +1946,14 @@ module .exports = class OutlineView extends Interface
|
|
|
1946
1946
|
{
|
|
1947
1947
|
case 0:
|
|
1948
1948
|
title += `Number of Points: ${(numVertices) .toLocaleString (_.locale)}`;
|
|
1949
|
-
break
|
|
1949
|
+
break;
|
|
1950
1950
|
case 1:
|
|
1951
1951
|
title += `Number of Lines: ${(numVertices / 2) .toLocaleString (_.locale)}`;
|
|
1952
|
-
break
|
|
1952
|
+
break;
|
|
1953
1953
|
case 2:
|
|
1954
1954
|
case 3:
|
|
1955
1955
|
title += `Number of Triangles: ${(numVertices / 3) .toLocaleString (_.locale)}`;
|
|
1956
|
-
break
|
|
1956
|
+
break;
|
|
1957
1957
|
}
|
|
1958
1958
|
|
|
1959
1959
|
continue;
|
|
@@ -1999,12 +1999,12 @@ module .exports = class OutlineView extends Interface
|
|
|
1999
1999
|
|
|
2000
2000
|
updateReferences (parent, node, field)
|
|
2001
2001
|
{
|
|
2002
|
-
const element = parent .find (`.field[field-id=${field .getId ()}]`)
|
|
2002
|
+
const element = parent .find (`.field[field-id=${field .getId ()}]`);
|
|
2003
2003
|
|
|
2004
2004
|
if (field .getReferences () .size)
|
|
2005
|
-
element .addClass ("references")
|
|
2005
|
+
element .addClass ("references");
|
|
2006
2006
|
else
|
|
2007
|
-
element .removeClass ("references")
|
|
2007
|
+
element .removeClass ("references");
|
|
2008
2008
|
}
|
|
2009
2009
|
|
|
2010
2010
|
updateBoolean (parent, node, field)
|
|
@@ -2012,19 +2012,19 @@ module .exports = class OutlineView extends Interface
|
|
|
2012
2012
|
if (field .isInitializable ())
|
|
2013
2013
|
{
|
|
2014
2014
|
parent .find (`.field[field-id=${field .getId ()}] > .item .boolean-button`)
|
|
2015
|
-
.attr ("src", `../images/OutlineEditor/Values/${field .getValue () ? "TRUE" : "FALSE"}.svg`)
|
|
2015
|
+
.attr ("src", `../images/OutlineEditor/Values/${field .getValue () ? "TRUE" : "FALSE"}.svg`);
|
|
2016
2016
|
}
|
|
2017
2017
|
else if (field .isOutput ())
|
|
2018
2018
|
{
|
|
2019
2019
|
parent .find (`.field[field-id=${field .getId ()}] > .item .boolean-out-button`)
|
|
2020
|
-
.attr ("src", `../images/OutlineEditor/Values/${field .getValue () ? "TRUE" : "FALSE"}-out.svg`)
|
|
2020
|
+
.attr ("src", `../images/OutlineEditor/Values/${field .getValue () ? "TRUE" : "FALSE"}-out.svg`);
|
|
2021
2021
|
}
|
|
2022
2022
|
}
|
|
2023
2023
|
|
|
2024
2024
|
updateColor (parent, node, field)
|
|
2025
2025
|
{
|
|
2026
2026
|
parent .find (`.field[field-id=${field .getId ()}] > .item .color-button`)
|
|
2027
|
-
.css ("background-color", this .getColorFromField (node, field))
|
|
2027
|
+
.css ("background-color", this .getColorFromField (node, field));
|
|
2028
2028
|
}
|
|
2029
2029
|
|
|
2030
2030
|
getColorFromField (node, field, colorSpace = this .browser .getBrowserOption ("ColorSpace"))
|
|
@@ -2059,31 +2059,31 @@ module .exports = class OutlineView extends Interface
|
|
|
2059
2059
|
{
|
|
2060
2060
|
case "input":
|
|
2061
2061
|
{
|
|
2062
|
-
return "../images/OutlineEditor/AccessTypes/inputOnly.active.png"
|
|
2062
|
+
return "../images/OutlineEditor/AccessTypes/inputOnly.active.png";
|
|
2063
2063
|
}
|
|
2064
2064
|
case "output":
|
|
2065
2065
|
{
|
|
2066
|
-
return "../images/OutlineEditor/AccessTypes/outputOnly.active.png"
|
|
2066
|
+
return "../images/OutlineEditor/AccessTypes/outputOnly.active.png";
|
|
2067
2067
|
}
|
|
2068
2068
|
}
|
|
2069
2069
|
}
|
|
2070
2070
|
else
|
|
2071
2071
|
{
|
|
2072
|
-
let accessTypeImage = this .accessTypes [field .getAccessType ()]
|
|
2072
|
+
let accessTypeImage = this .accessTypes [field .getAccessType ()];
|
|
2073
2073
|
|
|
2074
2074
|
if (field .isInput ())
|
|
2075
2075
|
{
|
|
2076
2076
|
switch (field .getInputRoutes () .size)
|
|
2077
2077
|
{
|
|
2078
2078
|
case 0:
|
|
2079
|
-
accessTypeImage += ".0"
|
|
2080
|
-
break
|
|
2079
|
+
accessTypeImage += ".0";
|
|
2080
|
+
break;
|
|
2081
2081
|
case 1:
|
|
2082
|
-
accessTypeImage += ".1"
|
|
2083
|
-
break
|
|
2082
|
+
accessTypeImage += ".1";
|
|
2083
|
+
break;
|
|
2084
2084
|
default:
|
|
2085
|
-
accessTypeImage += ".2"
|
|
2086
|
-
break
|
|
2085
|
+
accessTypeImage += ".2";
|
|
2086
|
+
break;
|
|
2087
2087
|
}
|
|
2088
2088
|
}
|
|
2089
2089
|
|
|
@@ -2092,20 +2092,20 @@ module .exports = class OutlineView extends Interface
|
|
|
2092
2092
|
switch (field .getOutputRoutes () .size)
|
|
2093
2093
|
{
|
|
2094
2094
|
case 0:
|
|
2095
|
-
accessTypeImage += ".0"
|
|
2096
|
-
break
|
|
2095
|
+
accessTypeImage += ".0";
|
|
2096
|
+
break;
|
|
2097
2097
|
case 1:
|
|
2098
|
-
accessTypeImage += ".1"
|
|
2099
|
-
break
|
|
2098
|
+
accessTypeImage += ".1";
|
|
2099
|
+
break;
|
|
2100
2100
|
default:
|
|
2101
|
-
accessTypeImage += ".2"
|
|
2102
|
-
break
|
|
2101
|
+
accessTypeImage += ".2";
|
|
2102
|
+
break;
|
|
2103
2103
|
}
|
|
2104
2104
|
}
|
|
2105
2105
|
|
|
2106
|
-
accessTypeImage = "../images/OutlineEditor/AccessTypes/" + accessTypeImage + ".png"
|
|
2106
|
+
accessTypeImage = "../images/OutlineEditor/AccessTypes/" + accessTypeImage + ".png";
|
|
2107
2107
|
|
|
2108
|
-
return accessTypeImage
|
|
2108
|
+
return accessTypeImage;
|
|
2109
2109
|
}
|
|
2110
2110
|
}
|
|
2111
2111
|
|
|
@@ -2478,12 +2478,12 @@ module .exports = class OutlineView extends Interface
|
|
|
2478
2478
|
onkeydownField (input, event)
|
|
2479
2479
|
{
|
|
2480
2480
|
if (event .key === "Enter")
|
|
2481
|
-
input .blur ()
|
|
2481
|
+
input .blur ();
|
|
2482
2482
|
}
|
|
2483
2483
|
|
|
2484
2484
|
disconnectField (field)
|
|
2485
2485
|
{
|
|
2486
|
-
field .removeFieldCallback (this .#fieldSymbol)
|
|
2486
|
+
field .removeFieldCallback (this .#fieldSymbol);
|
|
2487
2487
|
}
|
|
2488
2488
|
|
|
2489
2489
|
#fieldValueSymbol = Symbol ();
|
|
@@ -2493,9 +2493,9 @@ module .exports = class OutlineView extends Interface
|
|
|
2493
2493
|
field .addFieldCallback (this .#fieldValueSymbol, () =>
|
|
2494
2494
|
{
|
|
2495
2495
|
if (field .getType () === X3D .X3DConstants .SFString)
|
|
2496
|
-
input .val (field .getValue ())
|
|
2496
|
+
input .val (field .getValue ());
|
|
2497
2497
|
else
|
|
2498
|
-
input .val (field .toString ({ scene: node .getExecutionContext () }))
|
|
2498
|
+
input .val (field .toString ({ scene: node .getExecutionContext () }));
|
|
2499
2499
|
});
|
|
2500
2500
|
|
|
2501
2501
|
if (assign)
|
|
@@ -2509,24 +2509,24 @@ module .exports = class OutlineView extends Interface
|
|
|
2509
2509
|
// Generate tree.
|
|
2510
2510
|
|
|
2511
2511
|
const child = $("<div></div>")
|
|
2512
|
-
.addClass ("subtree")
|
|
2512
|
+
.addClass ("subtree");
|
|
2513
2513
|
|
|
2514
2514
|
const ul = $("<ul></ul>")
|
|
2515
|
-
.appendTo (child)
|
|
2515
|
+
.appendTo (child);
|
|
2516
2516
|
|
|
2517
2517
|
if (full)
|
|
2518
|
-
ul .append (this .createRouteElements (node, field))
|
|
2518
|
+
ul .append (this .createRouteElements (node, field));
|
|
2519
2519
|
|
|
2520
2520
|
const li = $("<li></li>")
|
|
2521
2521
|
.addClass (type + "-value no-expand")
|
|
2522
2522
|
.attr ("node-id", node .getId ())
|
|
2523
2523
|
.attr ("field-id", field .getId ())
|
|
2524
|
-
.appendTo (ul)
|
|
2524
|
+
.appendTo (ul);
|
|
2525
2525
|
|
|
2526
2526
|
$("<div></div>")
|
|
2527
2527
|
.addClass (type + "-value-container")
|
|
2528
2528
|
.append ($("<textarea></textarea>"))
|
|
2529
|
-
.appendTo (li)
|
|
2529
|
+
.appendTo (li);
|
|
2530
2530
|
|
|
2531
2531
|
// Make jsTree.
|
|
2532
2532
|
|
|
@@ -2534,46 +2534,46 @@ module .exports = class OutlineView extends Interface
|
|
|
2534
2534
|
.jstree ()
|
|
2535
2535
|
.off ("keypress.jstree dblclick.jstree")
|
|
2536
2536
|
.appendTo (parent)
|
|
2537
|
-
.hide ()
|
|
2537
|
+
.hide ();
|
|
2538
2538
|
|
|
2539
2539
|
child
|
|
2540
2540
|
.removeAttr ("tabindex")
|
|
2541
2541
|
.find (".jstree-anchor > *")
|
|
2542
|
-
.unwrap ()
|
|
2542
|
+
.unwrap ();
|
|
2543
2543
|
|
|
2544
2544
|
child .find (".jstree-ocl")
|
|
2545
2545
|
.addClass ("material-icons")
|
|
2546
2546
|
.text ("arrow_right")
|
|
2547
2547
|
.on ("click", this .selectExpander .bind (this))
|
|
2548
|
-
.on ("dblclick", this .activateExpander .bind (this))
|
|
2548
|
+
.on ("dblclick", this .activateExpander .bind (this));
|
|
2549
2549
|
|
|
2550
2550
|
child .find (".jstree-node")
|
|
2551
2551
|
.wrapInner ("<div class=\"item no-select\"/>")
|
|
2552
|
-
.find (".item") .append ("<div class=\"route-curves-wrapper\"><canvas class=\"route-curves\"></canvas></div>")
|
|
2552
|
+
.find (".item") .append ("<div class=\"route-curves-wrapper\"><canvas class=\"route-curves\"></canvas></div>");
|
|
2553
2553
|
|
|
2554
2554
|
this .connectFieldActions (child);
|
|
2555
2555
|
|
|
2556
2556
|
// Textarea
|
|
2557
2557
|
|
|
2558
|
-
const textarea = child .find ("textarea")
|
|
2558
|
+
const textarea = child .find ("textarea");
|
|
2559
2559
|
|
|
2560
|
-
this .setTextAreaTabs (textarea)
|
|
2561
|
-
this .setTextArea (textarea, node, field)
|
|
2560
|
+
this .setTextAreaTabs (textarea);
|
|
2561
|
+
this .setTextArea (textarea, node, field);
|
|
2562
2562
|
|
|
2563
|
-
textarea .on ("mouseenter", this .updateFieldTitle .bind (this))
|
|
2563
|
+
textarea .on ("mouseenter", this .updateFieldTitle .bind (this));
|
|
2564
2564
|
|
|
2565
2565
|
if ((field .isInput () || field .isInitializable ()) && this .isEditable (parent))
|
|
2566
2566
|
{
|
|
2567
|
-
textarea .on ("keydown", this .onkeydownArrayField .bind (this, textarea))
|
|
2568
|
-
textarea .on ("focusin", this .disconnectField .bind (this, field))
|
|
2569
|
-
textarea .on ("focusout", this .connectArrayField .bind (this, textarea, node, field, true))
|
|
2567
|
+
textarea .on ("keydown", this .onkeydownArrayField .bind (this, textarea));
|
|
2568
|
+
textarea .on ("focusin", this .disconnectField .bind (this, field));
|
|
2569
|
+
textarea .on ("focusout", this .connectArrayField .bind (this, textarea, node, field, true));
|
|
2570
2570
|
}
|
|
2571
2571
|
else
|
|
2572
2572
|
{
|
|
2573
|
-
textarea .attr ("disabled", "disabled")
|
|
2573
|
+
textarea .attr ("disabled", "disabled");
|
|
2574
2574
|
}
|
|
2575
2575
|
|
|
2576
|
-
this .connectArrayField (textarea, node, field, false)
|
|
2576
|
+
this .connectArrayField (textarea, node, field, false);
|
|
2577
2577
|
|
|
2578
2578
|
// Expand children.
|
|
2579
2579
|
|
|
@@ -2586,34 +2586,34 @@ module .exports = class OutlineView extends Interface
|
|
|
2586
2586
|
onkeydownArrayField (textarea, event)
|
|
2587
2587
|
{
|
|
2588
2588
|
if ((event .ctrlKey || event .metaKey) && event .key === "Enter")
|
|
2589
|
-
textarea .blur ()
|
|
2589
|
+
textarea .blur ();
|
|
2590
2590
|
}
|
|
2591
2591
|
|
|
2592
2592
|
connectArrayField (textarea, node, field, assign)
|
|
2593
2593
|
{
|
|
2594
|
-
field .addFieldCallback (this .#fieldValueSymbol, this .setTextArea .bind (this, textarea, node, field))
|
|
2594
|
+
field .addFieldCallback (this .#fieldValueSymbol, this .setTextArea .bind (this, textarea, node, field));
|
|
2595
2595
|
|
|
2596
2596
|
if (assign)
|
|
2597
|
-
this .onArrayFieldEdited (textarea, node, field)
|
|
2597
|
+
this .onArrayFieldEdited (textarea, node, field);
|
|
2598
2598
|
}
|
|
2599
2599
|
|
|
2600
2600
|
onArrayFieldEdited (textarea, node, field) { }
|
|
2601
2601
|
|
|
2602
2602
|
createRouteElements (node, field)
|
|
2603
2603
|
{
|
|
2604
|
-
const elements = [ ]
|
|
2604
|
+
const elements = [ ];
|
|
2605
2605
|
|
|
2606
2606
|
field .getInputRoutes () .forEach ((route) =>
|
|
2607
2607
|
{
|
|
2608
|
-
elements .push (this .createRouteElement ("input", node, field, route) .get (0))
|
|
2609
|
-
})
|
|
2608
|
+
elements .push (this .createRouteElement ("input", node, field, route) .get (0));
|
|
2609
|
+
});
|
|
2610
2610
|
|
|
2611
2611
|
field .getOutputRoutes () .forEach ((route) =>
|
|
2612
2612
|
{
|
|
2613
|
-
elements .push (this .createRouteElement ("output", node, field, route) .get (0))
|
|
2614
|
-
})
|
|
2613
|
+
elements .push (this .createRouteElement ("output", node, field, route) .get (0));
|
|
2614
|
+
});
|
|
2615
2615
|
|
|
2616
|
-
return $(elements)
|
|
2616
|
+
return $(elements);
|
|
2617
2617
|
}
|
|
2618
2618
|
|
|
2619
2619
|
createRouteElement (type, node, field, route)
|
|
@@ -2763,23 +2763,23 @@ module .exports = class OutlineView extends Interface
|
|
|
2763
2763
|
textarea .on ("keydown", (event) =>
|
|
2764
2764
|
{
|
|
2765
2765
|
if (event .key !== "Tab")
|
|
2766
|
-
return
|
|
2766
|
+
return;
|
|
2767
2767
|
|
|
2768
2768
|
// Tab was pressed, get caret position/selection.
|
|
2769
2769
|
const
|
|
2770
2770
|
start = textarea .prop ("selectionStart"),
|
|
2771
|
-
end = textarea .prop ("selectionEnd")
|
|
2771
|
+
end = textarea .prop ("selectionEnd");
|
|
2772
2772
|
|
|
2773
2773
|
// Set textarea value to: text before caret + tab + text after caret.
|
|
2774
|
-
textarea .val (textarea .val () .substring (0, start) + "\t" + textarea .val () .substring (end))
|
|
2774
|
+
textarea .val (textarea .val () .substring (0, start) + "\t" + textarea .val () .substring (end));
|
|
2775
2775
|
|
|
2776
2776
|
// Put caret at right position again.
|
|
2777
|
-
textarea .prop ("selectionStart", start + 1)
|
|
2778
|
-
textarea .prop ("selectionEnd", start + 1)
|
|
2777
|
+
textarea .prop ("selectionStart", start + 1);
|
|
2778
|
+
textarea .prop ("selectionEnd", start + 1);
|
|
2779
2779
|
|
|
2780
2780
|
// Prevent the focus lose.
|
|
2781
|
-
return false
|
|
2782
|
-
})
|
|
2781
|
+
return false;
|
|
2782
|
+
});
|
|
2783
2783
|
}
|
|
2784
2784
|
|
|
2785
2785
|
setTextArea (textarea, node, field)
|
|
@@ -2814,7 +2814,7 @@ module .exports = class OutlineView extends Interface
|
|
|
2814
2814
|
case X3D .X3DConstants .MFString:
|
|
2815
2815
|
{
|
|
2816
2816
|
textarea .val (field .getValue () .map (value => value .toString ()) .join (",\n"));
|
|
2817
|
-
break
|
|
2817
|
+
break;
|
|
2818
2818
|
}
|
|
2819
2819
|
default:
|
|
2820
2820
|
{
|
|
@@ -3404,7 +3404,7 @@ module .exports = class OutlineView extends Interface
|
|
|
3404
3404
|
.addClass (parent .getEditChild () !== node ? "on" : "off");
|
|
3405
3405
|
|
|
3406
3406
|
if (parent .getEditChild () === node)
|
|
3407
|
-
parent .setEditChild (null)
|
|
3407
|
+
parent .setEditChild (null);
|
|
3408
3408
|
else
|
|
3409
3409
|
parent .setEditChild (node);
|
|
3410
3410
|
}
|
|
@@ -3449,7 +3449,7 @@ module .exports = class OutlineView extends Interface
|
|
|
3449
3449
|
|
|
3450
3450
|
showSelectedObjects ()
|
|
3451
3451
|
{
|
|
3452
|
-
const selection = require ("../Application/Selection")
|
|
3452
|
+
const selection = require ("../Application/Selection");
|
|
3453
3453
|
|
|
3454
3454
|
for (const object of Traverse .traverse (selection .nodes .length ? selection .nodes : this .executionContext, Traverse .INLINE_SCENE | Traverse .PROTOTYPE_INSTANCES | Traverse .PROTO_DECLARATIONS | Traverse .PROTO_DECLARATION_BODY | Traverse .ROOT_NODES))
|
|
3455
3455
|
{
|
|
@@ -4063,7 +4063,7 @@ module .exports = class OutlineView extends Interface
|
|
|
4063
4063
|
this .saveExpandedNodes (element .find ("> div > ul > li"), path, expanded);
|
|
4064
4064
|
|
|
4065
4065
|
path .pop ();
|
|
4066
|
-
})
|
|
4066
|
+
});
|
|
4067
4067
|
|
|
4068
4068
|
return expanded;
|
|
4069
4069
|
}
|
|
@@ -4106,6 +4106,6 @@ module .exports = class OutlineView extends Interface
|
|
|
4106
4106
|
}
|
|
4107
4107
|
|
|
4108
4108
|
path .pop ();
|
|
4109
|
-
})
|
|
4109
|
+
});
|
|
4110
4110
|
}
|
|
4111
|
-
}
|
|
4111
|
+
};
|
package/src/Editors/Panel.js
CHANGED
|
@@ -338,7 +338,7 @@ module .exports = new class Panel extends Interface
|
|
|
338
338
|
|
|
339
339
|
// Update expanded state of folder.
|
|
340
340
|
|
|
341
|
-
folder .on ("fold", () => this .config .global [`${title}.expanded`] = folder .expanded)
|
|
341
|
+
folder .on ("fold", () => this .config .global [`${title}.expanded`] = folder .expanded);
|
|
342
342
|
|
|
343
343
|
// Add fields.
|
|
344
344
|
|
|
@@ -380,14 +380,14 @@ module .exports = new class Panel extends Interface
|
|
|
380
380
|
{
|
|
381
381
|
case 0:
|
|
382
382
|
this .numPrimitives .monitor = folder .addBinding (this .numPrimitives, "numberOfPoints", { readonly: true });
|
|
383
|
-
break
|
|
383
|
+
break;
|
|
384
384
|
case 1:
|
|
385
385
|
this .numPrimitives .monitor = folder .addBinding (this .numPrimitives, "numberOfLines", { readonly: true });
|
|
386
|
-
break
|
|
386
|
+
break;
|
|
387
387
|
case 2:
|
|
388
388
|
case 3:
|
|
389
389
|
this .numPrimitives .monitor = folder .addBinding (this .numPrimitives, "numberOfTriangles", { readonly: true });
|
|
390
|
-
break
|
|
390
|
+
break;
|
|
391
391
|
}
|
|
392
392
|
|
|
393
393
|
break;
|
|
@@ -925,13 +925,13 @@ module .exports = new class Panel extends Interface
|
|
|
925
925
|
this .#vector .setName ("calculatedSize");
|
|
926
926
|
this .#vector .setUnit ("length");
|
|
927
927
|
|
|
928
|
-
this .refresh (this .bbox, this .node, this .#vector)
|
|
928
|
+
this .refresh (this .bbox, this .node, this .#vector);
|
|
929
929
|
|
|
930
930
|
this .#vector .setValue (bbox .center);
|
|
931
931
|
this .#vector .setName ("calculatedCenter");
|
|
932
932
|
this .#vector .setUnit ("length");
|
|
933
933
|
|
|
934
|
-
this .refresh (this .bbox, this .node, this .#vector)
|
|
934
|
+
this .refresh (this .bbox, this .node, this .#vector);
|
|
935
935
|
|
|
936
936
|
this .bbox .bboxSizeInput ?.refresh ();
|
|
937
937
|
this .bbox .bboxCenterInput ?.refresh ();
|
|
@@ -942,7 +942,7 @@ module .exports = new class Panel extends Interface
|
|
|
942
942
|
numberOfLines: "0",
|
|
943
943
|
numberOfTriangles: "0",
|
|
944
944
|
monitor: null,
|
|
945
|
-
}
|
|
945
|
+
};
|
|
946
946
|
|
|
947
947
|
refreshGeometry ()
|
|
948
948
|
{
|
|
@@ -954,14 +954,14 @@ module .exports = new class Panel extends Interface
|
|
|
954
954
|
{
|
|
955
955
|
case 0:
|
|
956
956
|
this .numPrimitives .numberOfPoints = (numVertices) .toLocaleString (_.locale);
|
|
957
|
-
break
|
|
957
|
+
break;
|
|
958
958
|
case 1:
|
|
959
959
|
this .numPrimitives .numberOfLines = (numVertices / 2) .toLocaleString (_.locale);
|
|
960
|
-
break
|
|
960
|
+
break;
|
|
961
961
|
case 2:
|
|
962
962
|
case 3:
|
|
963
963
|
this .numPrimitives .numberOfTriangles = (numVertices / 3) .toLocaleString (_.locale);
|
|
964
|
-
break
|
|
964
|
+
break;
|
|
965
965
|
}
|
|
966
966
|
|
|
967
967
|
this .numPrimitives .monitor ?.refresh ();
|
|
@@ -154,17 +154,17 @@ module .exports = new class SceneProperties extends Dialog
|
|
|
154
154
|
.on ("click", function ()
|
|
155
155
|
{
|
|
156
156
|
if (!$(this) .val ())
|
|
157
|
-
return
|
|
157
|
+
return;
|
|
158
158
|
|
|
159
|
-
$(this) .attr ("placeholder", $(this) .val ())
|
|
160
|
-
$(this) .val ("")
|
|
159
|
+
$(this) .attr ("placeholder", $(this) .val ());
|
|
160
|
+
$(this) .val ("");
|
|
161
161
|
})
|
|
162
162
|
.on ("mouseleave", function ()
|
|
163
163
|
{
|
|
164
164
|
if ($(this) .val ())
|
|
165
|
-
return
|
|
165
|
+
return;
|
|
166
166
|
|
|
167
|
-
$(this) .val ($(this) .attr ("placeholder"))
|
|
167
|
+
$(this) .val ($(this) .attr ("placeholder"));
|
|
168
168
|
})
|
|
169
169
|
.on ("change", event => this .changeUnitName (event));
|
|
170
170
|
|
|
@@ -263,7 +263,7 @@ module .exports = new class SceneProperties extends Dialog
|
|
|
263
263
|
sortMetaData: false,
|
|
264
264
|
});
|
|
265
265
|
|
|
266
|
-
this .updateMetaDataSort ()
|
|
266
|
+
this .updateMetaDataSort ();
|
|
267
267
|
|
|
268
268
|
if (this .executionContext)
|
|
269
269
|
this .onclose ();
|
|
@@ -433,7 +433,7 @@ module .exports = new class SceneProperties extends Dialog
|
|
|
433
433
|
{
|
|
434
434
|
this .metaData .table .head .find (".sort-key")
|
|
435
435
|
.removeClass ("active")
|
|
436
|
-
.addClass (this .config .file .sortMetaData ? ["active"] : [ ])
|
|
436
|
+
.addClass (this .config .file .sortMetaData ? ["active"] : [ ]);
|
|
437
437
|
|
|
438
438
|
if (this .config .file .sortMetaData)
|
|
439
439
|
this .metaData .table .body .sortable ("disable");
|
|
@@ -489,7 +489,7 @@ module .exports = new class SceneProperties extends Dialog
|
|
|
489
489
|
// Add Open Link in Browser button if it matches a link somewhere in value.
|
|
490
490
|
{
|
|
491
491
|
const
|
|
492
|
-
http = /(https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._
|
|
492
|
+
http = /(https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*))/,
|
|
493
493
|
match = value .match (http);
|
|
494
494
|
|
|
495
495
|
if (match)
|