class %DeepSee.Report.UI.supplementalCodeEditor
extends %ZEN.Component.composite
Supplemental Code Editor
This is the master display panel for the code editors that allows
the user to inject server side code into generated DeepSee report
data collector classes
parameter INCLUDEFILES = "zenCSLM.js,zenCEM.js";
CSV list of additional include files (either .js or .css) that
should be included when this component is used on a page.
By default, the file extension (.js or .css) is used to determine whether an
item in the list is a script include or a style include. You can override
this behavior by adding the terms "script:" or "style:" to the beginning of
the file name or names. This prefix is not used as part of the include filename.
method DrawSupplementalCodeHeader(pSeed As %String)
as %Status
Draw the contents of the Supplemental Code Header (the region above the list of known code blocks).
method addNewMethod()
[ Language = javascript ]
Add a new method to the set
method adjustLayout()
[ Language = javascript ]
Correct the layout of the screen to account for the current window size
method deconflictMethodName(n)
[ Language = javascript ]
Given a proposed method name, deconflict it with all existing method
names in the model by appending a numeric suffix
method deleteMethod(editorIdx, modelIdx)
[ Language = javascript ]
Delete a given method from the model and update the screen accoridngly
method getModel()
[ Language = javascript ]
method getNewMethodPanel()
[ Language = javascript ]
method isUniqueMethodName(n)
[ Language = javascript ]
Given a proposed method name, return true is the method name is unique
with respect to the other method names in the model
method onloadHandler()
[ Language = javascript ]
This client event, if present, is fired when the page is loaded.
method populatePanel(panelIdx, methodIdx)
[ Language = javascript ]
After the creation of a new Method Definition Panel, populate it with the
appropriate data based on the methods of the class being edited.
method reset()
[ Language = javascript ]
Remove any active method panels from this screen
method restoreModel(m)
[ Language = javascript ]
Set underlying model of the widget and update the screen accordingly
The model object is an array of JSON method objects
A methodObj has the following properties
n: (string) The method name
t: (string) The return type
l: (string) The language used (currently only ObjectScript is supported)
a: (array) A list of argument objects
b: (long string) The body of the method
Each entry of the args array is an argObj, and looks like:
n: (string) The name of the parameter
t: (string) The parameter type
d: (string) The default value of the parameter