Due to a variety of reasons that I won't delve into, I have managed to encapsulate the ITHit Ajax File browser within an Angular Controller, which is then loaded and enclosed within an Angular-UI-Router UI-View.
All the configurations are set up through prior service calls (to cater to a cloud environment with changing URLs), and I have successfully resolved all CORS (Cross Origin Request) issues. Additionally, I have integrated a custom OAuth2 implementation on the DAV server. Everything is functioning smoothly with the ITHit File Browser as the focal point for our content-browsing setup.
At present, when I navigate to specific areas, the Angular-ui-router alters the URL, the view updates accordingly, and the Angular Controller containing ITHit responds to the view change, re-fetching the relevant DAV URL without reloading the view.
Here's where I'm facing a challenge: upon navigating away from certain areas, the Angular-UI-router reloads the containing UI-View with new content, but upon returning, the ITHit Ajax File Browser fails to redraw.
Here are some key points pertaining to my challenge:
- I would prefer to avoid having to "hide" the ITHit container, as it adds unnecessary complexity in terms of managing state changes and keeping track of DAV paths. I want Angular-UI-Router to function seamlessly with the ui-view where the browser is embedded.
- I aim to keep any necessary calls manageable by the Angular Controller, which handles authentication, path resolution, and contextual settings configuration that evolve as users navigate.
- Most of the vital components generated by the ITHit solution are stored in a Singleton ('DavBrowserService') - ensuring that upon returning to the file-browser view, everything remains intact from the initial instantiation, including:
- an instance of ITHit Object
- the created instance of the ITHit.Loader
- an instance of the previously generated AjaxFileBrowser.Controller Object (ITHit.oNS.Controller)
- an instance of the previously created WebDavSession Object (ITHit.oNS.WebDavSession)
With the above framework established, I am optimistic that I can easily reconnect these instances back to the now-returned dom-node ('afb-content-div'). Any assistance provided would be greatly valued!