Question

Prerender a side page in the DOM from the start without displaying it to UI/User

Hello friends,

I have a use case, where I need my side page in communication panel to be rendered when refreshing and first logging in the platform. Is there any solution/workaround to this case?

Best regards,

Krzysztof.

Like 0

Like

6 comments

Hello Krzysztof,

This feature is already enabled out-of-the-box.

If you open the communication panel and refresh the page, the panel bar will still be displayed when the page loads.

The same behavior applies when logging in.

Best regards,

Creatio Support

First of all, thanks for answering.

Sure. That's something that I know. Maybe I wasn't clear about my issue. My goal is to make my side page automatically being processed without displaying it in the UI, so what I mean that it should appear in the DOM, installing all the necessary dependencies from the network ex. sending HTTP request to external services as I said without displaying it to the user. 

Your feature/solution works when you had already opened the side page and it saves that you opened so it will open it automatically in the future. I want it to be rendered in DOM everytime, let's say in the background :D.

Krzysztof,

Please describe your business idea in full so we could better understand what exactly you are setting up, if this is regarding OOTB element or something custom, Classic or Freedom UI, Communication or Notifications panel and what exactly your idea behind this logic is.

Mira Dmitruk,

Sure, so I have the side page that has a custom component in it. It's an iframe that listens to some events that is send by it's backend (it does not matter). My side page is listening to those events from iframe with input/output angular pattern and does some logic with it. All of that is implemented in Freedom UI client module. When refreshing a page or logging in that side page is not rendered in the DOM so the event listener that I set in the side page does not work. For that reason, I'm looking for any solution that could help me with prerendering it without displaying it in UI, so just to make it appear in the DOM in HTML tree. Hope that description is sufficient enough.

Krzysztof,

I don't believe there is any way the module in the side panel will get loaded without the panel being displayed/opened. Instead, it sounds like it would be a better approach to separate the part that listens for the events from the display in the sidebar and load the part that listens for the events globally in the app, using something like MainShell or MainHeaderSchema to load that part so it is always loaded separately from the side panel (and could then send messages to the side panel when needed).

Ryan

Ryan Farley,

Thanks for the answer. It helped me a lot to know that, there is no easy answer for that issue.

I guess there is no easy way to achieve that. I tried many things. Unfortunately, the Iframe and it's module for sending events are inseparable, thus the only way is to just display it by using process method. Moreover, It would pointless to have a seperate listener without the publisher. 

Show all comments