Skip to main content

%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.

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.