Open a View without the shared dock

Related post: Hide a docked View with url parameter

How would I open a particular View without showing the header dock configured in the shared settings?

I’m showing Perspective pages within Vision and I don’t want the header showing in the Perspective project when displayed within Vision. The only way that I’ve been able to do this is by:

  1. creating a session prop that uses the clock (now(1000)) seconds to create a 1s clock signal (toInt(getSeconds(now(1000))) % 2)
  2. create a page url param called showHeader
  3. create a custom prop on the View that binds to the session clock signal with an attached on-change script that checks the showHeader value and if False, then close the dock.

It’s a horrible solution, but it’s all that I can get working… Startup events happen before the url param value is passed into the variable, so I can’t use this. I tried attaching a change script directly to the showHeader prop as well, but it never seems to fire… I’m out of ideas. I hate the idea of there being a script firing every second for no reason. I also don’t like that the header shows for a brief second before closing

You’re mixing terminology. VIEWS do not have shared docks - only PAGES do. so if you want to open a View then you just need to use system.perspective.navigate(view='<view_path>'). If you want to open a PAGE without the shared Docked View you need to override the shared setting.

Overriding a shared Docked View:
You should see a configuration which looks like this, with the shared DOcked View greyed-out:
Screen Shot 2020-12-28 at 8.27.40AM
You should click the “+ Add” button, and configure a Docked View which uses the same view as the shared Docked View, but you should set the Display setting to “onDemand”, and set the Handle property to “hide”.
Screen Shot 2020-12-28 at 8.30.29AM

I think I’ve seen you post other threads in relation to this same issue, and I really think that your best option is going to be to have Vision-specific urls for these pages which have this configuration.

3 Likes

Awesome, that's exactly what I'm after! Cheers.

Correct, yes, or rather being lazy as, at least up until now, I have only ever used a single page to show a single view (and I don't thibk that will ever change since you can't use the browser back button intuitively if you don't have a page per view)

I did try this at one stage, but I wasn't aware that you could override the shared setting like you mentioned. But this certainly does now look like the best option.

1 Like