-
Site loads
-
Load iFrame in initial default state (1st class/1st report)
a) User clicks dashboard link, reload iFrame with new details
b) User clicks iFrame link, iFrame reloads self and sends
window.postMessage() to Dashboard with details to update UI
-
same
-
same
a) same
b) User clicks iFrame link, reloads dashboard state with new url via a.target=_parent
(eg: site.com/data/this-class/some-report => site.com/data/this-class/another-report)
-
May have to "teach" angular to intercept a state change request from the iFrame, so that the entire page doesnt unecessarily reload. Ideally, angular's routing should already intercept and load the necessary views based on it's parent/child state relationships, but I'm uncertain of this when using iFrames to link to a new url.
-
If dashboard and all other iFrame navigation is controlled by the iFrame, we would only have to communicate URL updates to the angular/root frame, which should be possible with either window.postMessage() or ideally simple anchor tags w/ target="_parent". More research is necessary to confirm this. The state controller for the dashboard should be able to monitor these changes either way, and react or store anything we may need it to in response apart from whatever the iFrame is doing for itself.
-
base.target="_parent" may be something to look at, but inital investigation points to it anchoring the _parent tag to the iFrame, and not the host frame.
-
Using Forms to update and POST data to the iFrame. This is probably a redundant capability, but may be something to refer back to if we start hitting some pretty high walls with the newer, more promising methods.
- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
- http://www.panda-os.com/2015/03/communicate-iframe-parent-window/#.VpVEyZMrJ-U
- http://stackoverflow.com/questions/9153445/how-to-communicate-between-iframe-and-the-parent-site
- http://stackoverflow.com/questions/15712880/load-iframe-links-into-parent-window
- https://css-tricks.com/snippets/html/post-data-to-an-iframe/