%DeepSee.UI.ArchitectSA
Class %DeepSee.UI.ArchitectSA Extends (%DeepSee.UI.standardPage, %CSP.Portal.SourceControl.Base) [ System = 4 ]
DeepSee SubjectArea Architect page. This is a special version of the Architect for operating on Subject Areas.
Parameters
PAGENAME
Parameter PAGENAME = "Architect Subject Area";
Displayed name of this page.
DOCBOOKID
Parameter DOCBOOKID = "D2MODEL_intro_architect";
DEFAULTVIEWMODE
Parameter DEFAULTVIEWMODE = "cube";
If this page has multiple views, this is its initial display mode.
Properties
subjectAreaFullName
Property subjectAreaFullName As %ZEN.Datatype.string(ZENURL = "CUBE");
Name of SubjectArea (with extension).
subjectAreaName
Property subjectAreaName As %ZEN.Datatype.string;
Name of SubjectArea being viewed.
subjectAreaClass
Property subjectAreaClass As %ZEN.Datatype.string;
Class name of SubjectArea being viewed. This is determined from the SubjectArea name.
baseCube
Property baseCube As %ZEN.Datatype.string;
Base cube name for the current subject area.
subjectAreaDescription
Property subjectAreaDescription As %ZEN.Datatype.string;
Description of SubjectArea being viewed. This is determined from the subjectArea name.
subjectAreaDomain
Property subjectAreaDomain As %ZEN.Datatype.string;
Domain of SubjectArea being viewed. This is handled seperately from json.
subjectAreaDependsOn
Property subjectAreaDependsOn As %ZEN.Datatype.string;
DependsOn for subjectArea class. If provided, this is used as the DependsOn value of the generated subjectArea. If not, the base cube for the subjectArea is used. This is handled seperately from json.
dataSource
Property dataSource As %ZEN.Datatype.string;
Data source. This is a copy of the value in the base cube model.
currItem
Property currItem As %ZEN.Datatype.integer [ InitialExpression = -1 ];
ID (index number, 0-based) of current selected item.
currItemType
Property currItemType As %ZEN.Datatype.string;
Type of the current selected item.
%model
Property %model As %DeepSee.Model.SubjectArea.subjectArea;
Local copy of SubjectArea model object.
%basecube
Property %basecube As %DeepSee.Model.SubjectArea.subjectArea;
Local copy of BaseCube model object.
readOnly
Property readOnly As %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, user cannot modify the current SubjectArea definition.
canWrite
Property canWrite As %ZEN.Datatype.boolean [ InitialExpression = 1 ];
If true, user can modify (non-read-only) SubjectArea definitions, otherwise they can only view.
hlpRemove
Property hlpRemove As %ZEN.Datatype.caption [ InitialExpression = {$$$Text("Remove this item")} ];
hlpShowHide
Property hlpShowHide As %ZEN.Datatype.caption [ InitialExpression = {$$$Text("Hide or show the properties box")} ];
lblMeasure
Property lblMeasure As %ZEN.Datatype.caption [ InitialExpression = {$$$TextJS("measure")} ];
lblDimension
Property lblDimension As %ZEN.Datatype.caption [ InitialExpression = {$$$TextJS("dimension")} ];
lblHier
Property lblHier As %ZEN.Datatype.caption [ InitialExpression = {$$$TextJS("hierarchy")} ];
lblLevel
Property lblLevel As %ZEN.Datatype.caption [ InitialExpression = {$$$TextJS("level")} ];
lblListing
Property lblListing As %ZEN.Datatype.caption [ InitialExpression = {$$$TextJS("listing")} ];
msgInvalid
Property msgInvalid As %ZEN.Datatype.caption [ InitialExpression = {$$$TextJS("Please click [Open] to select a model definition.")} ];
settingsExpanded
Property settingsExpanded As %Boolean [ InitialExpression = 1, Internal ];
If true, the settings area (property sheet) is visible.
DocumaticPage
Property DocumaticPage As %String;
XDatas
CSS3Style
XData CSS3Style
This Style block contains page-specific CSS 3 style definitions.
Style
XData Style
This Style block contains page-specific CSS style definitions.
contentPane
XData contentPane [ XMLNamespace = "http://www.intersystems.com/zen" ]
Methods
%OnGetTitle
Method %OnGetTitle() As %String
Get the (localized) title string for the page. This should be implemented in a subclass.
%OnGetPageName
Method %OnGetPageName() As %String
Get the (localized) name of the page.
%OnGetProductName
Method %OnGetProductName() As %String
Get the product name for the page.
OnGetRibbonInfo
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.
DrawTableHeader
Method DrawTableHeader(pSeed As %String) As %Status
Draw the contents of the Table Header (the region between the diagram and the table).
GetInternalName
Method GetInternalName() As %String
Return the internal name of the current document, including the three letter extension in upper-case. For example, MyPackage.MyClass.CLS would be the internal name for the class MyPackage.MyClass.
getCurrentName
ClientMethod getCurrentName() [ Language = javascript ]
Return the current name of the class/object being modified.
getClientModel
ClientMethod getClientModel() [ Language = javascript ]
Get the jsonProvider object on the client.
onDocumentLoadComplete
ClientMethod onDocumentLoadComplete() [ Language = javascript ]
Callback method invoked after we have successfully loaded the current document.
%OnDrawHTMLHead
Method %OnDrawHTMLHead() As %Status
This callback is called at the end of the HTML HEAD section of the page.
OnDrawRibbon
Method OnDrawRibbon() As %Status
Draw additional stuff in the ribbon bar
changeSubjectArea
ClientMethod changeSubjectArea() [ Language = javascript ]
Launch the subjectArea finder dialog.
changeUseSQL
ClientMethod changeUseSQL() [ Language = javascript ]
User checked/unchecked the Use SQL field
onloadHandler
ClientMethod onloadHandler() [ Language = javascript ]
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.
onlayoutHandler
ClientMethod onlayoutHandler(load) [ Language = javascript ]
Adjust sizes of components on the page.
adjustSizes
ClientMethod adjustSizes() [ Language = javascript ]
Adjust sizes of components on the page.
updateTable
ClientMethod updateTable() [ Language = javascript ]
Update the contents of the model table.
getCubeObject
ClientMethod getCubeObject() [ Language = javascript ]
Return the cube definition object.
renderTable
ClientMethod renderTable() [ Language = javascript ]
Update the contents of the model table.
diffMeasures
ClientMethod diffMeasures(itemObj, baseObj) [ Language = javascript ]
Check overrides for Measure
diffDimensions
ClientMethod diffDimensions(itemObj, baseObj) [ Language = javascript ]
Check overrides for Dimension
diffHierarchies
ClientMethod diffHierarchies(itemObj, baseObj) [ Language = javascript ]
Check overrides for Hierarchies
diffLevels
ClientMethod diffLevels(itemObj, baseObj) [ Language = javascript ]
Check overrides for Levels
updateDiff
ClientMethod updateDiff(diffString, propName) [ Language = javascript ]
maxDiff
ClientMethod maxDiff(diffString) [ Language = javascript ]
findRowForItem
ClientMethod 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.
%OnAfterCreatePage
Method %OnAfterCreatePage() As %Status
This class method callback is called just before the server-side page object is created.
LoadListingSource
Method LoadListingSource() As %String
Return Data Connector list
LoadDefaultList
Method LoadDefaultList(baseCube, pType) As %String
Return Measure list or Listing list
GetSubjectAreaDefinition
Method GetSubjectAreaDefinition(ByRef pParms, Output pObject As %RegisteredObject) As %Status
Get SubjectArea definition for JSON provider.
GetCubeDefinition
Method GetCubeDefinition(ByRef pParms, Output pBase As %RegisteredObject) As %Status
Get BaseCube definition for JSON provider.
getSubjectAreaObject
ClientMethod getSubjectAreaObject() [ Language = javascript ]
Return the subject area definition object.
getSelectedItem
ClientMethod getSelectedItem() [ Language = javascript ]
Return the current selected item.
cancelDetailForm
ClientMethod cancelDetailForm() [ Language = javascript ]
Cancel changes from detail form.
setViewModeHandler
ClientMethod setViewModeHandler(mode) [ Language = javascript ]
Do the actual work of updating the view to match the current view mode.
onPopupAction
ClientMethod onPopupAction(popupName, action, value) [ Language = javascript ]
This client event is fired when the a popup page launched from this page fires an action.
newSubjectArea
ClientMethod newSubjectArea() [ Language = javascript ]
Invoke dialog to add a new subjectArea.
doDocument
ClientMethod doDocument() [ Language = javascript ]
Open Documatic page to view all details (if user has not modified anything).
viewSub
ClientMethod viewSub() [ Language = javascript ]
Open View Cube page to view all details (if user has not modified anything).
addItem
ClientMethod addItem() [ Language = javascript ]
Invoke dialog to add a new item to the model.
addNewItemToModel
ClientMethod addNewItemToModel(typenewname) [ Language = javascript ]
Add a new item to the model and select it.
createLevel
ClientMethod createLevel(newname) [ Language = javascript ]
createDim
ClientMethod createDim(newname) [ Language = javascript ]
createHier
ClientMethod createHier(newname) [ Language = javascript ]
browseClass
ClientMethod browseClass(popupName) [ Language = javascript ]
Invoke class finder dialog. popupName="sourceclasses" or "cubes"
applyDependsOn
ClientMethod applyDependsOn(value) [ Language = javascript ]
user modified DependsOn. Since it is not part of json, handle it seperately.
applyDomain
ClientMethod applyDomain(value) [ Language = javascript ]
user modified Domain. Since it is not part of json, handle it seperately.
editItem
ClientMethod editItem(what) [ Language = javascript ]
Invoke dialog to edit certain items: RangeExpression, FormatString, SourceProperty, SourceExpression.
editDescription
ClientMethod editDescription(what) [ Language = javascript ]
Toggle to show/hide Description textarea; set what's in text into textarea.
applyDescription
ClientMethod applyDescription(what) [ Language = javascript ]
Set textarea description back into the text description field.
selectNewItem
ClientMethod selectNewItem(newItem, newType) [ Language = javascript ]
Helper method: select an item, make sure it is visible and give focus to the details panel.
rowClick
ClientMethod rowClick(type, row) [ Language = javascript ]
User click on a row in the table.
selectItem
ClientMethod selectItem(type, row, force) [ Language = javascript ]
Select a row in the table.
dimHasAll
ClientMethod dimHasAll(item) [ Language = javascript ]
Find if this baseCube's dimension property hasAll is true or false. If false, then do not show the all members fields.
getCSSForType
ClientMethod getCSSForType(type) [ Language = javascript ]
Find the css class for the given row type.
applyDetails
ClientMethod applyDetails() [ Language = javascript ]
Apply changes from detail form.
enableItem
ClientMethod enableItem(row, flag) [ Language = javascript ]
Enable/disable a row in the table.
removeItem
ClientMethod removeItem(type, row, index, hier, level, prop) [ Language = javascript ]
Remove a row from the table.
canUndo
ClientMethod canUndo() [ Language = javascript ]
Return true if it is possible to undo an action
undo
ClientMethod undo() [ Language = javascript ]
Undo the most recent change.
clearUndoBuffer
ClientMethod clearUndoBuffer() [ Language = javascript ]
changeUndoState
ClientMethod changeUndoState(undostate) [ Language = javascript ]
Change Undo button state and View button state (opposite of Undo button)
addUndoAction
ClientMethod addUndoAction() [ Language = javascript ]
Remember the current state in the undo buffer.
cloneObject
ClientMethod cloneObject(obj, clone) [ Language = javascript ]
Create a clone of the given object.
toggleSettings
ClientMethod toggleSettings() [ Language = javascript ]
Toggle display of settings (property tabs) box.
toolAnalyzer
ClientMethod toolAnalyzer() [ Language = javascript ]
Show analyzer in a new window.
toolQuery
ClientMethod toolQuery() [ Language = javascript ]
Show query tool in a new window.
toggleDisclosure
ClientMethod toggleDisclosure(key) [ Language = javascript ]
User click on disclosure icon in table.
save
ClientMethod save() [ Language = javascript ]
Save the cube.
saveCube
ClientMethod saveCube() [ Language = javascript ]
Do save now. This method is called from compile also.
%GetLocatorLinks
Method %GetLocatorLinks(Output pLink) As %Status
Return the array of links to show in the locator bar.
pLink(n)=$LB(caption,link)
SubmitSubjectArea
Method SubmitSubjectArea(pCommand As %String, pProvider As %ZEN.Auxiliary.jsonProvider, pSubmitObject As %RegisteredObject, ByRef pResponseObject As %RegisteredObject) As %Status
Object submit handler JSON provider. This is called when the client submits the Subject Area definition.
compile
ClientMethod compile() [ Language = javascript ]
Compile the cube.
canUserModify
ClientMethod canUserModify() [ Language = javascript ]
Test if the user has write privilege.
setReadOnly
ClientMethod setReadOnly(readOnly) [ Language = javascript ]
method used by Source Control to set the value of the readOnly flag.