For information on converting to InterSystems IRIS, see the
InterSystems IRIS Adoption Guide
and the InterSystems IRIS In-Place Conversion Guide,
both available on the WRC Distributions page (login required).
Template for Ensemble pages which need to be able to interact with Source Control hooks.
This class extends the basic source control interactions implemented in %CSP.Portal.SourceControl.Base, which
should be the primary reference for implementing pages that need to interact with source control hooks.
Ensure that we force Internet Explorer to use its most recent rendering engine,
except if we are in Studio, in which case we don't
want IE10 and IE11 as we have issues with the way it present XML to Studio.
classmethod GetHyperEventResources(pMethod As %String = "") as %String
Callback to return a list of resources required for a specific HyperEvent.
The user must have sufficient privileges on one of the resource/permission pairs
to be permitted to execute the hyperevent. An empty string implies the user already
has sufficient privileges for the ZenMethod specified in pMethod.
Avoid writing out the session cookie if we are in a Studio session.
Test if the user has write privilege.
Gray out ribbon buttons 'Save', 'Save As', 'Compile', and 'Delete'. Invoked in case of read-only mode.
Add check to ensure that we correctly load documents on the client when source control hooks are in use.
Also set up a timer to ensure we don't hit timeouts while editing documents in Studio, as well as
When in Studio mode, also detect whether we are running IE10, as we need to save documents differently if that
is the case.
Note that special handling is required for the LOADCOMPLETE event.
We need to ensure that Studio gets the LOADCOMPLETE event, as well as updating the
document title later to ensure the correct reload behaviour.
The timeout is extra-long for IE9 and up because the main page's onload() sequence may be
triggered before the SVG is fully loaded, so we need to build in enough time to let the
SVG load before we update the title.
Set the modified flag for the page.
Set readOnly to the value of readOnly.
Subclasses MUST implement this method to update the controls on the page
so that the page's behaviour actually matches the value of the readOnly flag.
Set data into the results element for Studio.
Note that usingDOMElement should only be true under IE10.
Helper method to hide or show SVG elements when opening a popup.
This is primarily to ensure that we don't run into issues with IE and
the Adobe plugin when the popup window also uses SVG.