deprecatedclass %iKnow.UI.Architect
extends %iKnow.UI.standardPage
iKnow Architect helps users create %iKnow.AbstractDomain by manipulating
%iKnow.DomainDefinition. To create a iKnow Domain, users could manually
create a %iKnow.DomainDefintion class and encapsulate the all kinds of domain
settins into the XData section of %iKnow.DomainDefintion in Studio.
By %iKnow.UI.Architect, this GUI interface would create the corresponding
%iKnow.DomainDefinition based on the users input
parameter DOCBOOKID;
If this page has multiple views, this is its initial display mode.
parameter DOMAIN = "%iKnow";
Set this to the correct domain.
parameter PAGENAME = "Domain Architect";
Displayed name of this page.
parameter RESOURCE = "%Development";
All DeepSee pages require %DeepSee_Portal USE.
property %domain
as %iKnow.Model.domain;
property PageURL
as %String;
property currItem
as %ZEN.Datatype.integer [ InitialExpression = -1 ];
property currItemType
as %ZEN.Datatype.string;
Type of the current selected item.
property domainDefName
as %ZEN.Datatype.string(ZENURL="DOMAIN");
property domainId
as %String;
property domainName
as %ZEN.Datatype.string;
property expandAll
as %Integer [ InitialExpression = 1 ];
Whether to expand all elements under each type. When user clicks Collapse All then this is set to 0. At end of renderTable it is set to 2.
property hlpDropTooltip
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Create new %1") ];
property hlpMoveDown
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Move this item down") ];
property hlpMoveUp
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Move this item up") ];
property hlpRemove
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Remove this item") ];
property hlpShowHide
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Hide or show the properties box") ];
property lblAgeLevel
as %ZEN.Datatype.caption [ InitialExpression = $$$TextHTML("Level (type=age)") ];
property lblDataLevel
as %ZEN.Datatype.caption [ InitialExpression = $$$TextHTML("Level (type=data)") ];
property lblExpression
as %ZEN.Datatype.caption [ InitialExpression = $$$TextHTML("(expression)") ];
property lblTimeLevel
as %ZEN.Datatype.caption [ InitialExpression = $$$TextHTML("Level (type=time)") ];
property manualInput
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Manually Input Group Field") ];
property msgInvalid
as %ZEN.Datatype.caption [ InitialExpression = $$$FormatText($$$Text("Please click [Open] to select a %1 Domain."),$$$PRODUCT5) ];
property msgOpenModel
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Please open a model definition first.") ];
classmethod %GetModel(pDomainDefName As %String, Output pStatus As %Status)
as %iKnow.Model.domain
return the instance of %iKnow.Model.domain if its corresponding domain definition once compiled successfully
Otherwise, we try to load the xdata from domain definition directly.
method %OnAfterCreatePage()
as %Status
This class method callback is called just before the server-side page
object is created.
method %OnGetPageName()
as %String
Get the (localized) name of the page.
method %OnGetProductName()
as %String
Get the product name for the page.
method %OnGetTitle()
as %String
Get the (localized) title string for the page.
This should be implemented in a subclass.
method ClearMetadataMap()
as %Status
[ ZenMethod ]
method CreateMetadataMapField(pIndex As %Integer, pField As %String, pValueList As %String)
as %Status
[ ZenMethod ]
method DrawTableHeader(pSeed As %String)
as %Status
Draw the contents of the Table Header (the region between the diagram and the table).
classmethod GetDomainId(dName)
as %String
[ ZenMethod ]
dName should be the child class of %iKnow.DomainDefition
method GetDomainName(DDName As %String)
as %String
[ ZenMethod ]
method OnGetModelDomain(ByRef pParameters, Output pObject As %RegisteredObject)
as %Status
[ ZenMethod ]
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
Get information to display in the ribbon bar.
method OnSubmitModelDomain(pCommand As %String, pProvider As %ZEN.Auxiliary.jsonProvider, pSubmitObject As %RegisteredObject, ByRef pResponseObject As %RegisteredObject)
as %Status
method addIKnowElement(type, parent)
[ Language = javascript ]
method addIKnowElementWrapper(type, disclosure)
[ Language = javascript ]
method addUDEntry()
[ Language = javascript ]
method addUndoAction()
[ Language = javascript ]
Remember the current state in the undo buffer.
method adjustGroupFieldValue(groupField, val)
[ Language = javascript ]
method adjustIKnowListerFields(type)
[ Language = javascript ]
method adjustSizes()
[ Language = javascript ]
Adjust sizes of components on the page.
method alreadySaved()
[ Language = javascript ]
method appendModelDomain(domain)
[ Language = javascript ]
method applyDetails(trigger)
[ Language = javascript ]
method applyParameters(domain)
[ Language = javascript ]
method applySQLtoFields(sql)
as %String
[ ZenMethod ]
method applyTabletoFields(table)
as %String
[ ZenMethod ]
method assignDefaultConfig(domain)
[ Language = javascript ]
method associateConfigToDomain(domain, configMacro)
[ Language = javascript ]
method buildDomain(pCommand As %String)
[ Language = javascript ]
method clearUndoAction()
[ Language = javascript ]
method cloneObject(obj, clone)
[ Language = javascript ]
Create a clone of the given object.
method commitChanges(pCommand As %String)
[ Language = javascript ]
method compileDomain(pCommand As %String)
[ Language = javascript ]
method createDictionary()
[ Language = javascript ]
method createDictionaryItem()
[ Language = javascript ]
method createDictionaryTerm()
[ Language = javascript ]
method createMatching()
[ Language = javascript ]
method createModelConfig(configName)
[ Language = javascript ]
method createModelConverter()
[ Language = javascript ]
method createModelData()
[ Language = javascript ]
method createModelList(option)
[ Language = javascript ]
method createModelMetadata()
[ Language = javascript ]
method createModelMetadataField()
[ Language = javascript ]
method createModelParameter()
[ Language = javascript ]
method createModelProcessor()
[ Language = javascript ]
method createNameForLister(type)
[ Language = javascript ]
method declareMetadata()
[ Language = javascript ]
method dropDomain()
[ Language = javascript ]
method enableItem(row, flag)
[ Language = javascript ]
Enable/disable a row in the table.
method fillUpParameters(domain)
[ Language = javascript ]
The reason we need this helper is beacuse all the %iknow.model.configuationas and %iknow.model.parameters are all configure
through Domain setting section, the table could only store %iknow.model.configuations object.
method findDefaultValue(id, value)
[ Language = javascript ]
method findMetadataIndex()
[ Language = javascript ]
method findRowForItem(item)
[ Language = javascript ]
Find the row number in the table for the given model item.
This must be called after the table has been rendered.
method getCSSForType(type)
[ Language = javascript ]
Find the css class for the given row type.
method getColumnNames(sql)
as %String
[ ZenMethod ]
method getCustomizableFieldValue(id)
as %String
[ Language = javascript ]
classmethod getEncodings()
as %String
method getIKnowListerRep(lister)
[ Language = javascript ]
method getIKnowListerType(lister)
[ Language = javascript ]
classmethod getIKnowParameterName()
as %String
[ ZenMethod ]
method getMDDTSTRING()
as %String
[ ZenMethod ]
method getMDOPEQUAL()
as %String
[ ZenMethod ]
classmethod getMetadataDataTypes()
as %String
method getMetadataMapColumns()
[ Language = javascript ]
method getMetadataMapFields()
[ Language = javascript ]
classmethod getMetadataStorages()
as %String
method getModelDomainObject()
[ Language = javascript ]
method getPageTitle()
as %String
[ Language = javascript ]
Get the title string to add to the locator row.
This should be implemented in a subclass.
method getSelectedItem()
[ Language = javascript ]
Return the current selected item.
method getStorageName(index)
[ Language = javascript ]
method getUserDictionary()
[ Language = javascript ]
method gotoPortal(page)
[ Language = javascript ]
method isClosed(cube, item)
[ Language = javascript ]
method metadataColParser(cols, sep)
as %String
[ Language = javascript ]
maintain a stack which holds the left brace or quotes,
when meeting comman(sep), if the size of stack > 0, then this comman is invalid.
method moveItemDown(type, row, index, hier, level, prop)
[ Language = javascript ]
method moveItemUp(type, row, index, hier, level, prop)
[ Language = javascript ]
method newDomain()
[ Language = javascript ]
method onPopupAction(popupName, action, value)
[ Language = javascript ]
This client event is fired when the a popup page launched from this page fires an action.
method onlayoutHandler(load)
[ Language = javascript ]
Adjust sizes of components on the page.
method onloadHandler()
[ Language = javascript ]
This client event, if present, is fired when the page is loaded.
method openDomain()
[ Language = javascript ]
method parseDomainDefName(ddName)
[ Language = javascript ]
method parseQuery(query)
[ Language = javascript ]
method refreshMetadataMap()
[ Language = javascript ]
method removeItem(type, row, index, hier, level, prop)
[ Language = javascript ]
Remove a row from the table.
method renderDictionaryFormat(item)
[ Language = javascript ]
method renderTable()
[ Language = javascript ]
Update the contents of the model table.
method retreiveSchemas()
as %String
[ ZenMethod ]
method retreiveTables(pSchema As %String)
as %String
[ ZenMethod ]
method revertCustomizableField(field)
[ Language = javascript ]
method rowClick(type, row)
[ Language = javascript ]
User click on a row in the table.
method rowMouseOut(div)
[ Language = javascript ]
method for when mouse out
method rowMouseOver(element, div)
[ Language = javascript ]
method saveDomain(pCommand As %String)
[ Language = javascript ]
method selectItem(type, row, force)
[ Language = javascript ]
Select a row in the table.
method selectNewItem(newItem, newType)
[ Language = javascript ]
Helper method: select an item, make sure it is visible
and give focus to the details panel.
method setCustomizableFieldValue(id, value)
as %String
[ Language = javascript ]
method setViewModeHandler(mode)
[ Language = javascript ]
Do the actual work of updating the view to match the current view mode.
method toggleCustomizableField(field)
[ Language = javascript ]
method toggleDisclosure2(domain, key, forceOpen=0)
[ Language = javascript ]
User click on disclosure icon in table.
method toggleExpand(flag)
[ Language = javascript ]
user clicked Expand All (flag=1) or Collapsed All (flag=0).
method toggleOrApply(field)
[ Language = javascript ]
method toggleSettings()
[ Language = javascript ]
Toggle display of settings (property tabs) box.
method undo()
[ Language = javascript ]
method updateTable()
[ Language = javascript ]
Update the contents of the model table.
method updateUserDictionary(json)
[ Language = javascript ]