Skip to main content


class EnsPortal.LookupSettings extends EnsPortal.Template.devPage, EnsPortal.Template.scUtils

Zen based Lookup Table UI

Property Inventory

Method Inventory


parameter EDITRESOURCE = %Ens_LookupTables:WRITE;
User needs WRITE permissions on the %Ens_LookupTables resource to make changes on this page.
parameter PAGENAME = Lookup Tables;
Displayed name of this page.
parameter RESOURCE = %Ens_LookupTables:READ;
User needs READ permissions on the %Ens_LookupTables resource to access this page.


property canViewFileSystem as %Boolean [ InitialExpression = $system.Security.Check("%Ens_ViewFileSystem","USE") ];
Is the user permitted to access the fileSelect popup.
Property methods: canViewFileSystemDisplayToLogical(), canViewFileSystemGet(), canViewFileSystemIsValid(), canViewFileSystemLogicalToDisplay(), canViewFileSystemLogicalToXSD(), canViewFileSystemNormalize(), canViewFileSystemSet(), canViewFileSystemXSDToLogical()
property currentRow as %ZEN.Datatype.integer [ InitialExpression = -1 ];
The position (0-based) of the currently selected row.
Property methods: currentRowDisplayToLogical(), currentRowGet(), currentRowIsValid(), currentRowLogicalToDisplay(), currentRowLogicalToOdbc(), currentRowNormalize(), currentRowSet()
property lookupTable as %ZEN.Datatype.string (MAXLEN = 220, ZENURL = "LookupTable");
The name of the lookup table.
Property methods: lookupTableDisplayToLogical(), lookupTableGet(), lookupTableIsValid(), lookupTableLogicalToDisplay(), lookupTableLogicalToOdbc(), lookupTableNormalize(), lookupTableSet()
property msgDocReadOnly as %ZEN.Datatype.caption [ InitialExpression = $$$TextJS("This lookup table is read only.") ];
Property methods: msgDocReadOnlyDisplayToLogical(), msgDocReadOnlyGet(), msgDocReadOnlyIsValid(), msgDocReadOnlyLogicalToDisplay(), msgDocReadOnlyLogicalToOdbc(), msgDocReadOnlyNormalize(), msgDocReadOnlySet()
property tipDelete as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Delete the currently selected lookup table") ];
Property methods: tipDeleteDisplayToLogical(), tipDeleteGet(), tipDeleteIsValid(), tipDeleteLogicalToDisplay(), tipDeleteLogicalToOdbc(), tipDeleteNormalize(), tipDeleteSet()
property tipExport as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Export the currently selected lookup table to a file in XML format") ];
Property methods: tipExportDisplayToLogical(), tipExportGet(), tipExportIsValid(), tipExportLogicalToDisplay(), tipExportLogicalToOdbc(), tipExportNormalize(), tipExportSet()
property tipImport as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Import lookup tables from a file") ];
Property methods: tipImportDisplayToLogical(), tipImportGet(), tipImportIsValid(), tipImportLogicalToDisplay(), tipImportLogicalToOdbc(), tipImportNormalize(), tipImportSet()
property tipImportLegacy as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Import lookup tables from a file that was exported in legacy format (older version)") ];
Property methods: tipImportLegacyDisplayToLogical(), tipImportLegacyGet(), tipImportLegacyIsValid(), tipImportLegacyLogicalToDisplay(), tipImportLegacyLogicalToOdbc(), tipImportLegacyNormalize(), tipImportLegacySet()
property tipNew as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Create a new lookup table") ];
Property methods: tipNewDisplayToLogical(), tipNewGet(), tipNewIsValid(), tipNewLogicalToDisplay(), tipNewLogicalToOdbc(), tipNewNormalize(), tipNewSet()
property tipOpen as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Open an existing lookup table") ];
Property methods: tipOpenDisplayToLogical(), tipOpenGet(), tipOpenIsValid(), tipOpenLogicalToDisplay(), tipOpenLogicalToOdbc(), tipOpenNormalize(), tipOpenSet()
property tipSave as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Save the current lookup table") ];
Property methods: tipSaveDisplayToLogical(), tipSaveGet(), tipSaveIsValid(), tipSaveLogicalToDisplay(), tipSaveLogicalToOdbc(), tipSaveNormalize(), tipSaveSet()
property tipSaveAs as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Save the current lookup table with a different name") ];
Property methods: tipSaveAsDisplayToLogical(), tipSaveAsGet(), tipSaveAsIsValid(), tipSaveAsLogicalToDisplay(), tipSaveAsLogicalToOdbc(), tipSaveAsNormalize(), tipSaveAsSet()
property writePERMISSION as %ZEN.Datatype.boolean [ InitialExpression = $System.Security.GetGlobalPermission($namespace,"Ens.LookupTable") [ "WRITE" ];
Property methods: writePERMISSIONDisplayToLogical(), writePERMISSIONGet(), writePERMISSIONIsValid(), writePERMISSIONLogicalToDisplay(), writePERMISSIONLogicalToOdbc(), writePERMISSIONLogicalToXSD(), writePERMISSIONNormalize(), writePERMISSIONSet(), writePERMISSIONXSDToLogical()


method %OnAfterCreatePage() as %Status
Normalize the value of lookupTable.
method %OnGetPageName() as %String
Get the (localized) name of the page.
method %OnGetTitle() as %String
Get the (localized) title string for the page.
classmethod CheckFilename(filename As %String) as %String [ ZenMethod ]
Check whether the specified file already exists or is in a non-existent directory.
classmethod CreateDirectory(filename As %String) as %String [ ZenMethod ]
method DrawDescription(pSeed As %String) as %Status
Draw the contents of the description panel.
classmethod Export(Filename As %String, Tablename As %String) as %String [ ZenMethod ]
Export a lookup table in Tablename to file Filename.
classmethod GetDefaultDir() as %String [ ZenMethod ]
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.
method GetInternalName() as %String
Return the internal name of the current document.
classmethod GetLookupTableProxy(pLookupTable As %String = "", Output pProxy As %ZEN.proxyObject) as %Status
Helper method to create a Zen proxyObject instance to represent the specified lookup table.
classmethod Import(Filename As %String) as %String [ ZenMethod ]
Import lookup tables from file Filename. Other types of documents, if any, are skipped.
classmethod ImportLegacy(Filename As %String) as %String [ ZenMethod ]
Import lookup tables from file Filename, using legacy XML format, compatible with older versions.
classmethod IsNameReadOnly(pName As %String) as %Boolean [ ZenMethod ]
method LoadLookupTable(ByRef pParms, Output pObject As %ZEN.proxyObject) as %Status
Main method to get a JSON-ready representation of the current lookup table.
classmethod NameCheck(newName) as %String [ ZenMethod ]
method OnDrawRibbon() as %Status
Add to the contents of the tool ribbon.
method OnGetRibbonInfo(Output pDisplay As %Boolean, Output pViewIcons As %List, Output pSortOptions As %List, Output pSearchBox As %Boolean, Output pRibbonTitle As %String, Output pCommands As %List) as %Status
Inherited description: This callback, if implemented returns information used to display the standard ribbon bar.
pDisplay is true if the ribbon should be displayed.
pViewIcons is an array describing "view" buttons to display: pViewIcons(n) = $LB(id,help,icon)
pSortOptions is an array describing "sort" options to display: pSortOptions(n) = $LB(id,caption,help)
pSearch is true if a search box is displayed.
pRibbonTitle is a title to display.
pCommands is an array of command buttons to display: pCommands(n) = $LB(id,caption,help,onclick)
method SaveLookupTable(pCommand As %String, pProvider As %ZEN.Auxiliary.jsonProvider, pSubmitObject As %ZEN.proxyObject, Output pResponseObject As %RegisteredObject) as %Status
Save the supplied lookup table.
classmethod SetDefaultDir(pPathname As %String) [ ZenMethod ]
clientmethod addUndoAction(setModified) [ Language = javascript ]
Add a copy of the current table state to the undo stack.
clientmethod adjustSizes() [ Language = javascript ]
Adjust sizes of components on the page.
clientmethod alphaSort(a, b) [ Language = javascript ]
strict alphabetical sort used to sort rows in UI.
clientmethod applyChanges() [ Language = javascript ]
Apply changes from the form back to the JSON model.
clientmethod canUndo() [ Language = javascript ]
Helper method to indicate whether there is any data on the undo stack.
clientmethod checkName(newName) [ Language = javascript ]
Check to see if the new name for this table is already in use before saving. If the new name is already in use, confirm that the user wishes to overwrite the old table of that name.
clientmethod chooseSCMenu(menuName, commandName, saveFlags) [ Language = javascript ]
Handle a source control menu selection.
clientmethod clearUndoBuffer() [ Language = javascript ]
Clear the undo stack.
clientmethod clearValues() [ Language = javascript ]
Reset the form programmatically.
clientmethod cloneObject(obj, clone) [ Language = javascript ]
Create a clone of the given object. Used in the undo logic.
clientmethod deleteTable() [ Language = javascript ]
User clicked the Delete button for a table.
clientmethod deleteTableAfterConfirmation() [ Language = javascript ]
Add intermediary Are You Really Sure popup
clientmethod doExport(filename) [ Language = javascript ]
Actually perform the export to the specified file.
clientmethod doImport(filename) [ Language = javascript ]
clientmethod doImportLegacy(filename) [ Language = javascript ]
Import legacy
clientmethod drawTableDetails() [ Language = javascript ]
Render the contents of the detail table.
clientmethod exportTable() [ Language = javascript ]
Launch a dialog so the user can choose a file to export the current lookup table to.
clientmethod getClientModel() [ Language = javascript ]
Get the JSON model on the client.
clientmethod getCurrentExtension() [ Language = javascript ]
Return the extension used by Studio for the class/object
clientmethod getCurrentName() [ Language = javascript ]
Return the current name of the class/object being modified
clientmethod getTableObject() [ Language = javascript ]
Get the main table Javascript object.
clientmethod getTableValues() [ Language = javascript ]
Get the list of lookup values.
clientmethod importTable() [ Language = javascript ]
Launch a dialog so the user can choose a file to import a lookup table from.
clientmethod importTableLegacy() [ Language = javascript ]
Launch a dialog so the user can choose a file to import a lookup table from, in legacy format (exported from an older version).
clientmethod loadDetails(loadFromServer) [ Language = javascript ]
Initialise the table rendering of the page.
clientmethod modSort(a, b) [ Language = javascript ]
Modified sort, which sorts new, modified, deleted, and then unchanged rows, with alphabetical sorting within each group. A weight is given to each state so it is easy to produce a sort order. The weights are as follows:
  • 0 - new entry
  • 1 - modified entry
  • 2 - deleted entry
  • 3 - unchanged entry
clientmethod newTable() [ Language = javascript ]
Prompt the user for the name of a new table to edit.
clientmethod onDocumentReload(reason) [ Language = javascript ]
Ensure we redraw the diagram if a reload was requested
clientmethod onPopupAction(popupName, action, value) [ Language = javascript ]
Handle various dialogs.
clientmethod onlayoutHandler(load) [ Language = javascript ]
This client event is fired when the page is resized.
clientmethod openTable() [ Language = javascript ]
Launch a dialog to choose a different table to open.
clientmethod removeRow(row, addBack) [ Language = javascript ]
User clicked the Delete button for a row. addBack should be used to indicate that a previously deleted key should be added back to the table.
clientmethod renameSave(newName) [ Language = javascript ]
clientmethod renderRow(html, pos, index, values) [ Language = javascript ]
Add the HTML for a row in position pos using the data from position index in the list of values.
clientmethod saveTable() [ Language = javascript ]
Save the current lookup table.
clientmethod saveTableAs() [ Language = javascript ]
Launch popup window to begin 'save as' process
clientmethod selectRow(row) [ Language = javascript ]
User selected a row in the lookup table.
clientmethod setReadOnly(readOnly) [ Language = javascript ]
Inherited description: 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.
clientmethod showSCMenu() [ Language = javascript ]
Call UpdateSCMenu()() first in case the document has been modified elsewhere, then display the source control menu based on the contents of the _sourceControlMenu data created by UpdateSCMenu()().
clientmethod toggleButton(zenId, enable) [ Language = javascript ]
Toggle whether the button with Id zenId is enabled or disabled.
clientmethod toggleFormButtons(enable) [ Language = javascript ]
Helper method to ensure that the two buttons in the right hand side of the page are toggled together.
clientmethod toggleUndoIcon(show) [ Language = javascript ]
Toggle whether the undo icon should be shown or not.
clientmethod undo() [ Language = javascript ]
If the current action can be undone, do so.
clientmethod updateDocumentState(alertOnReadOnly) [ Language = javascript ]
Helper method to ensure that documentTimestamp and readOnly are up to date on the client.

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab