class %DeepSee.UI.CubeRegistry
extends %DeepSee.UI.standardPage
DeepSee CubeRegistry page.
This UI allows you to register a "Group" by drag and drop:
Drag a group from the tree and drop it on the header for the "Registered" groups.
The tree reprsents Unregistered groups. The center table represents Registered groups.
You can also register and merge at the same time:
Drag a group from the tree and drop it on a registered group in the center table. A confirmation box will display.
If confirmed the cubes from the tree will be merged into the registered group.
To Unregister, click the "x" image.
The map object will be saved immediately after a drag and drop or a unregister.
To modify properties for a registered group and cubes, click a row from the center table and modify the properties on the right in the Details pane.
After your modification is done, you can click the Save button. If you do a drag & drop or a unregister, these changes will also be saved automatically.
parameter DEFAULTVIEWMODE = "cube";
If this page has multiple views, this is its initial display mode.
parameter DOCBOOKID = "D2IMP_current_cubemgr";
Docbook ID for this page.
parameter JSINCLUDES = "zenMenusSMP.js";
Comma-separated list of additional JS include files for the page.
parameter PAGENAME = "Cube Registry";
Displayed name of this page.
parameter RESOURCE = "%DeepSee_Admin";
All Analytics pages require %DeepSee_Portal USE.
property %model
as %RegisteredObject;
Local copy of cube map model object.
property DocumaticPage
as %String;
property SavedTime
as %ZEN.Datatype.string;
Last cube save time when the cube is loaded.
property activeRegistryExists
as %Boolean;
property canWrite
as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
If true, user can modify (non-read-only) cube definitions,
otherwise they can only view.
property cubeClass
as %ZEN.Datatype.string;
[NO LONGER USED ON THIS PAGE]
Class name of Cube being viewed.
This is determined from the cube name.
property cubeName
as %ZEN.Datatype.string;
[NO LONGER USED ON THIS PAGE]
Name of Cube being viewed.
property currItem
as %ZEN.Datatype.integer [ InitialExpression = -1 ];
ID (index number, 0-based) of current selected item.
property currItemType
as %ZEN.Datatype.string;
Type of the current selected item.
property detailCubeGroupName
as %String;
Group name for the currently selected cube.
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("Register %1") ];
property hlpMoveDown
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Move this group down") ];
property hlpMoveUp
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Move this group 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 imgArrow1D
as %String [ InitialExpression = ..Link("/csp/broker/images/arrow1D.gif") ];
property imgArrow1R
as %String [ InitialExpression = ..Link("/csp/broker/images/arrow1R.gif") ];
property isLocked
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
The cube is currently locked by someone when the cube is opened in Architect
property msgInvalid
as %ZEN.Datatype.caption [ InitialExpression = $$$TextHTML("Cube Registry map is empty.") ];
property msgMerge
as %ZEN.Datatype.caption [ InitialExpression = $$$TextJS("Are you sure you want to merge group %1 to group %2?") ];
property msgSystemUpdates
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("This update schedule is managed by an external application") ];
property readOnly
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, user cannot modify the current cube definition.
property reloadMap
as %Boolean [ InitialExpression = 0 ];
Set to 1 if server should reload json map after merge.
property tree
as %ZEN.Datatype.string;
Data source. This is a copy of the value in the cube model.
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 DrawTableHeader(pSeed As %String)
as %Status
Draw the contents of the Table Header (the region between the diagram and the table).
method GetMapDefinition(ByRef pParms, Output pObject As %RegisteredObject)
as %Status
Get Registry Map definition for JSON provider.
method GetTitle()
as %String
[ ZenMethod ]
classmethod GetTreeInfo(pRoot As %String, Output pTree, ByRef pParms)
as %Status
Provide contents of the data source tree.
method OnDrawRibbon()
as %Status
Draw additional stuff in the ribbon bar
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.
classmethod ShowMap(showTable=0)
CHUI quick view
method SubmitMap(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 Cube definition.
method SwitchActiveRegistry(pClassName="")
as %Status
[ ZenMethod ]
Client-side call to switch the active registry
method addUndoAction()
[ Language = javascript ]
Remember the current state in the undo buffer.
method adjustSizes()
[ Language = javascript ]
Adjust sizes of components on the page.
method applyDescription(what)
[ Language = javascript ]
Set textarea description back into the text description field.
method applyDetails()
[ Language = javascript ]
Apply changes from detail form.
method buildAllRegisteredGroups()
[ Language = javascript ]
method buildOneRegisteredGroup()
[ Language = javascript ]
method canUndo()
[ Language = javascript ]
Return true if it is possible to undo an action
method canUserModify()
[ Language = javascript ]
Test if the user has write privilege.
method changeUndoState(undostate)
[ Language = javascript ]
Change Undo button state and View button state (opposite of Undo button)
method clearUndoBuffer()
[ Language = javascript ]
method cloneObject(obj, clone)
[ Language = javascript ]
Create a clone of the given object.
method confirmSyncExemption()
[ Language = javascript ]
Exempting the synchronize from relationship dependencies is not recommended. When the user
attempts to turn this setting off, inform that this is not recommended and confirm that this
is really what the user wants to do.
method createNewRegistry()
[ Language = javascript ]
Launch a popup window to create a new Cube Registry document.
method doApplyGroupChange()
[ Language = javascript ]
User clicked "Apply to All Cubes in Group" button to save changes to all cubes for that group.
method doMerge()
[ Language = javascript ]
User clicked Merge from "Merge to Group..."
method doMergeLoadList()
[ Language = javascript ]
User checked the Merge checkbox. We now load the registered groups into the drop-down and show it.
method doRegister()
[ Language = javascript ]
User clicked "Register Group" button to register all cubes for a group when view mode is "table".
method editDescription(what)
[ Language = javascript ]
Toggle to show/hide Description textarea; set what's in text into textarea.
method enableItem(row, flag)
[ Language = javascript ]
Enable/disable a row in the table.
method filterChanged(value)
[ Language = javascript ]
User entered something in to the filter. Re-load the table with filter value.
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 findTableItem(cubeName)
[ Language = javascript ]
method getCSSForType(type)
[ Language = javascript ]
Find the css class for the given row type.
method getCubeObject()
[ Language = javascript ]
Return the cube definition object.
method getDayOf(item)
[ Language = javascript ]
return what to display for day of month or day of week in center pane
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 isClosed(map, item)
[ Language = javascript ]
method loadCubeDetails(item, systemLock)
[ Language = javascript ]
method mergeGroups(mergeFromText, mergeTo, map, index)
[ Language = javascript ]
Preparation for Merging two groups
method moveItemDown(type, row, index)
[ Language = javascript ]
method moveItemUp(type, row, index)
[ 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 removeItem(type, row, index)
[ Language = javascript ]
Remove a row from the table.
method renderTable()
[ Language = javascript ]
Update the contents of the model table.
method repairBuild()
[ 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 for when user mouse over a row in the table
method save()
[ Language = javascript ]
Save the map.
method saveMap()
[ Language = javascript ]
Do save now.
method selectItem(type, row, force)
[ Language = javascript ]
Select a row in the table.
method selectTableItem(cubeName)
[ Language = javascript ]
User selected a row from the table view
method setViewModeHandler(mode)
[ Language = javascript ]
Do the actual work of updating the view to match the current view mode.
method showUpdatePlan(type, UpdatePlan, BuildTimeUnit)
[ Language = javascript ]
This method shows and hide Build/Synch fields based on the item's UpdatePlan
method tableDropHandler(dragData)
[ Language = javascript ]
Drop handler for model table. dragData.text is the GroupName; dragData.value is "group" or "cube" to indicate what is dragged here.
method toggleDisclosure(key)
[ 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 toggleSettings()
[ Language = javascript ]
Toggle display of settings (property tabs) box.
method toolMenu(pageName)
[ Language = javascript ]
Show a selected tool in a new window. pageName="Analyzer", "Architect", "MDXQuery", or "ModelBrowser".
method undo()
[ Language = javascript ]
Undo the most recent change.
method updateMap(reloadMap)
[ Language = javascript ]
Thid method will save changes and reload tree. If reloadMap is set to 1 then reload content from server for table.
reloadMap is 1 for drag&drop merge and remove.
method updateTable()
[ Language = javascript ]
Update the contents of the model table.