- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
keyboard shortcut: local data filter ?
Is there a Keyboard shortcut to add a local data filter to a GraphBuilder Plot?
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
You can assign your own shortcuts from View / Customize / Menus and Toolbars
And if you want it to work just for graph builder, then you can write your own JSL for it which would ignore other platforms
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
You can assign your own shortcuts from View / Customize / Menus and Toolbars
And if you want it to work just for graph builder, then you can write your own JSL for it which would ignore other platforms
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
Ah,
Platform: Local Data Filter
thanks, very convenient
And for
"Show control Panel" ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
No idea if there is JMP Built-In command for that, so you might have to write JSL to handle that and then build shortcut for it
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
Ok, thanks
Names default to here(1);
gb= Current Report()["Graph Builder"] <<Get Scriptable Object;
ib= Current Report()["Graph Builder",IfBox(1)];
if(ib << get,
gb << show control panel(0),
gb << show control panel(1))
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
I think that should work great if the outline box title hasn't been changed. You might consider adding Try() to avoid JMP from throwing errors if no graph builder is open in the Current Report().
If you want to also manage situations where the outline box title has been changed, using XPath might the most robust option. With XPath you can look for Outline Boxes' helpKey attribute with value 'Graph Builder' and then use similar idea with << Get Scriptable Object
Local({first_gb},
Try(
first_gb = (Current Report() << XPath("//OutlineBox[@helpKey = 'Graph Builder']"))[1] << Get Scriptable Object;
Report(first_gb)[IfBox(1)] << Set(!(Report(first_gb)[IfBox(1)] << get));
);
);
Also using Current Window() instead of Current Report() is an option, if you only want to change the Control Panel visibility on the currently active graph builder window (I think Current Report() would change the control panel even if the graph builder was behind data table for example).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
Cool, very robust!
Next Thing: Keyboard Shortcut for the Legend
Local( {first_gb},
Try(
first_gb = (Current Window() << XPath( "//OutlineBox[@helpKey = 'Graph Builder']" ))[1] << Get Scriptable Object;
first_gb << show legend (!(Report(first_gb)[LegendBox( 1 )] << get width));
)
);
why "Current Report"?
-> hm, debugging is much easier
Toggling the IfBox value instead of sending the "Control Panel" command to the Graph Builder Object is clever (a whole new world of possibilities!)
Was there a specific reason to go from Report to Scriptable Object and then back to Report?
instead of
Local({first_gb},
Try(
first_gb = (Current Report() << XPath("//OutlineBox[@helpKey = 'Graph Builder']"))[1];
first_gb[IfBox(1)] << Set(!(first_gb[IfBox(1)] << get));
);
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
Was there a specific reason to go from Report to Scriptable Object and then back to Report?
No, I just used what first came to my mind and did work out.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
Oops, I just "realized" that
gb << show control panel(1)
has more to do than just show the control panel
so (final version):
Local({first_gb,newState},
Try(
first_gbr = (Current Report() << XPath("//OutlineBox[@helpKey = 'Graph Builder']"))[1] ;
newState=!(first_gbr[IfBox(1)] << get);
(first_gbr << Get Scriptable Object)<< Show Control Panel(newState);
);
);
show the control panel:
show control panel(1)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: keyboard shortcut: local data filter ?
Here is an Add-In which adds Shortcut Icons to the Report Toolbar
- to open/close Control Panel
- to show/hide the legend