Skip to content

Commit b9b8865

Browse files
committed
[jsroot] dev 25/02/2026
Fix expand handling when browsing multiple files Suppress jupyter context menu when showing JSROOT one
1 parent 6e38a08 commit b9b8865

3 files changed

Lines changed: 34 additions & 30 deletions

File tree

js/build/jsroot.js

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const version_id = 'dev',
1414

1515
/** @summary version date
1616
* @desc Release date in format day/month/year like '14/04/2022' */
17-
version_date = '23/02/2026',
17+
version_date = '25/02/2026',
1818

1919
/** @summary version id and date
2020
* @desc Produced by concatenation of {@link version_id} and {@link version_date}
@@ -168043,21 +168043,21 @@ class HierarchyPainter extends BasePainter {
168043168043
/** @summary alternative context menu, used in the object inspector
168044168044
* @private */
168045168045
direct_contextmenu(evnt, elem) {
168046-
evnt.preventDefault();
168047168046
const itemname = select(elem.parentNode.parentNode).attr('item'),
168048168047
hitem = this.findItem(itemname);
168049-
if (!hitem)
168048+
if (!hitem || !isFunc(this.fill_context))
168050168049
return;
168051168050

168052-
if (isFunc(this.fill_context)) {
168053-
createMenu(evnt, this).then(menu => {
168054-
this.fill_context(menu, hitem);
168055-
if (menu.size() > 0) {
168056-
menu.tree_node = elem.parentNode;
168057-
menu.show();
168058-
}
168059-
});
168060-
}
168051+
evnt.preventDefault();
168052+
evnt.stopPropagation();
168053+
168054+
createMenu(evnt, this).then(menu => {
168055+
this.fill_context(menu, hitem);
168056+
if (menu.size() > 0) {
168057+
menu.tree_node = elem.parentNode;
168058+
menu.show();
168059+
}
168060+
});
168061168061
}
168062168062

168063168063
/** @summary Fills settings menu items
@@ -168103,11 +168103,12 @@ class HierarchyPainter extends BasePainter {
168103168103
/** @summary Handle context menu in the hierarchy
168104168104
* @private */
168105168105
tree_contextmenu(evnt, elem) {
168106-
evnt.preventDefault();
168107168106
const itemname = select(elem.parentNode.parentNode).attr('item'),
168108168107
hitem = this.findItem(itemname);
168109168108
if (!hitem)
168110168109
return;
168110+
evnt.preventDefault();
168111+
evnt.stopPropagation();
168111168112

168112168113
const onlineprop = this.getOnlineProp(itemname),
168113168114
fileprop = this.getFileProp(itemname);
@@ -169072,8 +169073,9 @@ class HierarchyPainter extends BasePainter {
169072169073
if ((hitem._more === false) || (!hitem._parent && hitem._childs))
169073169074
return;
169074169075

169075-
if (hitem._childs && hitem._isopen) {
169076-
hitem._isopen = false;
169076+
// for the file expand always just toggle isopen flag
169077+
if (hitem._childs && (hitem._isopen || hitem._file)) {
169078+
hitem._isopen = !hitem._isopen;
169077169079
if (!silent)
169078169080
this.updateTreeNode(hitem, d3cont);
169079169081
return;

js/modules/core.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const version_id = 'dev',
66

77
/** @summary version date
88
* @desc Release date in format day/month/year like '14/04/2022' */
9-
version_date = '23/02/2026',
9+
version_date = '25/02/2026',
1010

1111
/** @summary version id and date
1212
* @desc Produced by concatenation of {@link version_id} and {@link version_date}

js/modules/gui/HierarchyPainter.mjs

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1876,21 +1876,21 @@ class HierarchyPainter extends BasePainter {
18761876
/** @summary alternative context menu, used in the object inspector
18771877
* @private */
18781878
direct_contextmenu(evnt, elem) {
1879-
evnt.preventDefault();
18801879
const itemname = d3_select(elem.parentNode.parentNode).attr('item'),
18811880
hitem = this.findItem(itemname);
1882-
if (!hitem)
1881+
if (!hitem || !isFunc(this.fill_context))
18831882
return;
18841883

1885-
if (isFunc(this.fill_context)) {
1886-
createMenu(evnt, this).then(menu => {
1887-
this.fill_context(menu, hitem);
1888-
if (menu.size() > 0) {
1889-
menu.tree_node = elem.parentNode;
1890-
menu.show();
1891-
}
1892-
});
1893-
}
1884+
evnt.preventDefault();
1885+
evnt.stopPropagation();
1886+
1887+
createMenu(evnt, this).then(menu => {
1888+
this.fill_context(menu, hitem);
1889+
if (menu.size() > 0) {
1890+
menu.tree_node = elem.parentNode;
1891+
menu.show();
1892+
}
1893+
});
18941894
}
18951895

18961896
/** @summary Fills settings menu items
@@ -1936,11 +1936,12 @@ class HierarchyPainter extends BasePainter {
19361936
/** @summary Handle context menu in the hierarchy
19371937
* @private */
19381938
tree_contextmenu(evnt, elem) {
1939-
evnt.preventDefault();
19401939
const itemname = d3_select(elem.parentNode.parentNode).attr('item'),
19411940
hitem = this.findItem(itemname);
19421941
if (!hitem)
19431942
return;
1943+
evnt.preventDefault();
1944+
evnt.stopPropagation();
19441945

19451946
const onlineprop = this.getOnlineProp(itemname),
19461947
fileprop = this.getFileProp(itemname);
@@ -2905,8 +2906,9 @@ class HierarchyPainter extends BasePainter {
29052906
if ((hitem._more === false) || (!hitem._parent && hitem._childs))
29062907
return;
29072908

2908-
if (hitem._childs && hitem._isopen) {
2909-
hitem._isopen = false;
2909+
// for the file expand always just toggle isopen flag
2910+
if (hitem._childs && (hitem._isopen || hitem._file)) {
2911+
hitem._isopen = !hitem._isopen;
29102912
if (!silent)
29112913
this.updateTreeNode(hitem, d3cont);
29122914
return;

0 commit comments

Comments
 (0)