Class CubeGrid

All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsWidget, LogicalStructure, HasFacetAddedHandlers, HasFacetContextClickHandlers, HasFacetLabelClickHandlers, HasFacetMovedHandlers, HasFacetRemovedHandlers, HasFacetValueContextClickHandlers, HasFacetValueSelectionChangedHandlers, HasFixedFacetValueChangedHandlers, HasSortByFacetIdHandlers, HasSortByFacetValuesHandlers, DataBoundComponent, HasClearHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragCompleteHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropCompleteHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFetchDataHandlers, HasFocusChangedHandlers, HasFormulaUpdatedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasRuleContextChangedHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasBodyKeyPressHandlers, HasCellClickHandlers, HasCellContextClickHandlers, HasCellDoubleClickHandlers, HasCellErrorIconHoverHandlers, HasCellErrorIconOutHandlers, HasCellErrorIconOverHandlers, HasCellHoverHandlers, HasCellMouseDownHandlers, HasCellMouseUpHandlers, HasCellOutHandlers, HasCellOverHandlers, HasCellSavedHandlers, HasCellSelectionChangedHandlers, HasCellValueHoverHandlers, HasCriteriaChangedHandlers, HasDataArrivedHandlers, HasDataChangedHandlers, HasDrawAreaChangedHandlers, HasEditCompleteHandlers, HasEditFailedHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFieldStateChangedHandlers, HasFilterEditorSubmitHandlers, HasGroupByCompleteHandlers, HasGroupByHandlers, HasGroupStateChangedHandlers, HasGroupTreeChangedHandlers, HasHeaderClickHandlers, HasHeaderDoubleClickHandlers, HasHeaderHoverHandlers, HasHilitesChangedHandlers, HasRecordClickHandlers, HasRecordCollapseHandlers, HasRecordDoubleClickHandlers, HasRecordDropHandlers, HasRecordExpandHandlers, HasRegroupHandlers, HasRemoveRecordClickHandlers, HasRowContextClickHandlers, HasRowEditorEnterHandlers, HasRowEditorExitHandlers, HasRowHoverHandlers, HasRowMouseDownHandlers, HasRowMouseUpHandlers, HasRowOutHandlers, HasRowOverHandlers, HasSelectionChangedHandlers, HasSelectionUpdatedHandlers, HasSetSortHandlers, HasSortChangedHandlers, HasSorterClickHandlers, HasSorterContextClickHandlers, HasViewStateChangedHandlers, HasMembersChangedHandlers

The CubeGrid is an interactive grid component that presents very large, multi-dimensional data sets (also known as data cubes) for reporting or analytic applications.

CubeGrids are often called crosstabs, for their cross-tabular display of data dimensions in stacked/nested rows and columns, or pivot tables, for their ability to "pivot" dimensions between rows and columns to view a data cube from different perspectives. They are typically used in the querying and reporting front-ends of data warehousing, decision support, OLAP, and business intelligence systems.

For example, CubeGrids can be connected to Pentaho Mondrian, Jasper Reports, Microsoft Analysis Services and any other OLAP technology that supports the XMLA standard - the Isomorphic public wiki has examples. of such integration.

NOTE: you must load the Analytics Optional Module before you can use CubeGrid.

Multi-Dimensional Data Terminology

The CubeGrid refers to the dimensions of a data cube as facets, to the possible values in each facet as facet values, and to the values within the data cube as data values or cell values. Equivalent terms that are commonly used in data warehousing or business intelligence systems include:
facet: dimension, attribute, feature
facet value: dimension member, attribute value, feature value
cell value: data value, metric value, measure

Visual Structure

Like the ListGrid and TreeGrid components, the CubeGrid displays data values in a tabular "body" with adjacent "headers". While the ListGrid and TreeGrid display rows of records with field values, the CubeGrid displays a body of individual cell values, each associated with a combination of facet values. The facet values for a cell are displayed in the column headers above the cell and row headers to the left of the cell. CubeGrids can display an arbitrary number of facets, by stacking multiple levels of row and/or column headers.

Except for the innermost column facet, each facet in a CubeGrid has a facet label adjacent to its row or column headers. The facet labels serve two main purposes: they display the titles of the facets, and they provide drag-and-drop reordering or pivoting of facets within the CubeGrid. The row facet labels also provide interactive selection, resizing, and other operations on the columns of row facet values.

The innermost column headers provide special behaviors and controls for manipulating the columns of data in a CubeGrid. End users may select, resize, reorder, minimize, maximize, or auto-fit the columns of data via mouse interactions with these headers. Customizable indicators and controls may be included at the top of each innermost column header.

If a CubeGrid is not large enough to display all of its cell values, horizontal and/or vertical scrollbars will appear below and to the right of the body. The body of the CubeGrid may be scrolled on either axis. The headers are "frozen" from scrolling on one axis - row headers only scroll vertically, while column headers only scroll horizontally - so the facet values for the visible cells are always displayed.

Data Loading

Data can be provided to the Cube via data as an Array of CellRecords, each representing the data for one cell.

For large datasets, provide a DataSource with one field per facetId, and the CubeGrid will load data on demand to fill the visible area, including lazily loading data for expanding/collapsing tree facets and when facetValues are made visible programmatically or via menus.

Picking Facets

By "facet" we mean an aspect of the data which is orthogonal to other aspects of the data, that is, combining values from any two "facets" should make sense.

For example, in sales data, two facets might be "quarter" and "region" - it makes sense to combine any quarter and region, although for some combinations, there may not be data available.

An example of two aspects that would not be independent facets are "state" and "city" - it's senseless to combine arbitrary states with arbitrary cities - most combinations are invalid. Consider instead a tree facet that combines "city" and "state" values.

Note that if "city" and "state" are represented as facets, they may look correct if they are both on the same axis of the grid and hideEmptyFacetValues is used to trim nonsense combinations, but if the data is pivoted such that "state" and "city" are on opposing axes, there will be a roughly diagonal "stripe" of data for combinations of "state" and "city" that make sense, and all other space will be blank. This is a strong indication that two facets should be represented as a single tree facet instead.

See Also:
  • Constructor Details

    • CubeGrid

      public CubeGrid()
    • CubeGrid

      public CubeGrid(JavaScriptObject jsObj)
  • Method Details

    • getOrCreateRef

      public static CubeGrid getOrCreateRef(JavaScriptObject jsObj)
    • getTestInstance

      protected CubeGrid getTestInstance()
      Overrides:
      getTestInstance in class ListGrid
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
      Changes the defaults for Canvas AutoChildren named autoChildName.
      Parameters:
      autoChildName - name of an AutoChild to customize the defaults for.
      defaults - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see SGWTProperties.
      See Also:
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
      Changes the defaults for FormItem AutoChildren named autoChildName.
      Parameters:
      autoChildName - name of an AutoChild to customize the defaults for.
      defaults - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see SGWTProperties.
      See Also:
    • create

      protected JavaScriptObject create()
      Overrides:
      create in class ListGrid
    • setAlternateRecordStyles

      public CubeGrid setAlternateRecordStyles(Boolean alternateRecordStyles)
      Whether alternating rows should be drawn in alternating styles, in order to create a "ledger" effect for easier reading. If enabled, the cell style for alternate rows will have "Dark" appended to it.
      Overrides:
      setAlternateRecordStyles in class ListGrid
      Parameters:
      alternateRecordStyles - New alternateRecordStyles value. Default value is true
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getAlternateRecordStyles

      public Boolean getAlternateRecordStyles()
      Whether alternating rows should be drawn in alternating styles, in order to create a "ledger" effect for easier reading. If enabled, the cell style for alternate rows will have "Dark" appended to it.
      Overrides:
      getAlternateRecordStyles in class ListGrid
      Returns:
      Current alternateRecordStyles value. Default value is true
      See Also:
    • setAutoFetchTextMatchStyle

      public CubeGrid setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle) throws IllegalStateException
      If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial fetchData() call.
      Specified by:
      setAutoFetchTextMatchStyle in interface DataBoundComponent
      Overrides:
      setAutoFetchTextMatchStyle in class ListGrid
      Parameters:
      autoFetchTextMatchStyle - New autoFetchTextMatchStyle value. Default value is "exact"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getAutoFetchTextMatchStyle

      public TextMatchStyle getAutoFetchTextMatchStyle()
      If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial fetchData() call.
      Specified by:
      getAutoFetchTextMatchStyle in interface DataBoundComponent
      Overrides:
      getAutoFetchTextMatchStyle in class ListGrid
      Returns:
      Current autoFetchTextMatchStyle value. Default value is "exact"
      See Also:
    • setAutoFitColumnTitle

      public CubeGrid setAutoFitColumnTitle(String autoFitColumnTitle)
      Title for the auto-fit column menu item.
      Parameters:
      autoFitColumnTitle - New autoFitColumnTitle value. Default value is "AutoFit Column"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getAutoFitColumnTitle

      public String getAutoFitColumnTitle()
      Title for the auto-fit column menu item.
      Returns:
      Current autoFitColumnTitle value. Default value is "AutoFit Column"
    • setAutoFitFieldWidths

      public CubeGrid setAutoFitFieldWidths(Boolean autoFitFieldWidths) throws IllegalStateException
      This property is not supported for CubeGrid.

      Consider setting explicit widths via FacetValue.width or defaultFacetWidth.

      Overrides:
      setAutoFitFieldWidths in class ListGrid
      Parameters:
      autoFitFieldWidths - New autoFitFieldWidths value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getAutoFitFieldWidths

      public Boolean getAutoFitFieldWidths()
      This property is not supported for CubeGrid.

      Consider setting explicit widths via FacetValue.width or defaultFacetWidth.

      Overrides:
      getAutoFitFieldWidths in class ListGrid
      Returns:
      Current autoFitFieldWidths value. Default value is null
    • setAutoSelectHeaders

      public CubeGrid setAutoSelectHeaders(Boolean autoSelectHeaders)
      If true, when multiple facets appear on one side in a nested headers presentation, the selection state of parent/child headers are automatically kept in sync.
      Parameters:
      autoSelectHeaders - New autoSelectHeaders value. Default value is true
      Returns:
      CubeGrid instance, for chaining setter calls
    • getAutoSelectHeaders

      public Boolean getAutoSelectHeaders()
      If true, when multiple facets appear on one side in a nested headers presentation, the selection state of parent/child headers are automatically kept in sync.
      Returns:
      Current autoSelectHeaders value. Default value is true
    • setAutoSelectValues

      public CubeGrid setAutoSelectValues(AutoSelectionModel autoSelectValues) throws IllegalStateException
      Whether to select cells in the body when row or column headers are selected.
      Parameters:
      autoSelectValues - New autoSelectValues value. Default value is "both"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getAutoSelectValues

      public AutoSelectionModel getAutoSelectValues()
      Whether to select cells in the body when row or column headers are selected.
      Returns:
      Current autoSelectValues value. Default value is "both"
    • setAutoSizeHeaders

      public CubeGrid setAutoSizeHeaders(Boolean autoSizeHeaders)
      Automatically size row headers to fit wrapped text.
      Parameters:
      autoSizeHeaders - New autoSizeHeaders value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
    • getAutoSizeHeaders

      public Boolean getAutoSizeHeaders()
      Automatically size row headers to fit wrapped text.
      Returns:
      Current autoSizeHeaders value. Default value is false
    • setBaseStyle

      public CubeGrid setBaseStyle(String baseStyle) throws IllegalStateException
      base cell style for this listGrid. If this property is unset, base style may be derived from ListGrid.normalBaseStyle or ListGrid.tallBaseStyle as described in ListGrid.getBaseStyle().

      See CellStyleSuffixes for details on how stateful suffixes are combined with the base style to generate stateful cell styles.

      Overrides:
      setBaseStyle in class ListGrid
      Parameters:
      baseStyle - New baseStyle value. Default value is "cubeCell"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getBaseStyle

      public String getBaseStyle()
      base cell style for this listGrid. If this property is unset, base style may be derived from ListGrid.normalBaseStyle or ListGrid.tallBaseStyle as described in ListGrid.getBaseStyle().

      See CellStyleSuffixes for details on how stateful suffixes are combined with the base style to generate stateful cell styles.

      Overrides:
      getBaseStyle in class ListGrid
      Returns:
      Return the base stylename for this cell. Default implementation just returns this.baseStyle. See getCellStyle() for a general discussion of how to style cells. Default value is "cubeCell"
      See Also:
    • setBodyMinHeight

      public CubeGrid setBodyMinHeight(Integer bodyMinHeight)
      Minimum height for the body of this cubeGrid.

      Note : This is an advanced setting

      Parameters:
      bodyMinHeight - New bodyMinHeight value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getBodyMinHeight

      public Integer getBodyMinHeight()
      Minimum height for the body of this cubeGrid.
      Returns:
      Current bodyMinHeight value. Default value is null
    • setBodyMinWidth

      public CubeGrid setBodyMinWidth(Integer bodyMinWidth)
      Minimum width for the body of this cubeGrid.

      Note : This is an advanced setting

      Parameters:
      bodyMinWidth - New bodyMinWidth value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getBodyMinWidth

      public Integer getBodyMinWidth()
      Minimum width for the body of this cubeGrid.
      Returns:
      Current bodyMinWidth value. Default value is null
    • setBodyStyleName

      public CubeGrid setBodyStyleName(String bodyStyleName)
      CSS class for the CubeGrid body
      Overrides:
      setBodyStyleName in class ListGrid
      Parameters:
      bodyStyleName - New bodyStyleName value. Default value is "cubeGridBody"
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getBodyStyleName

      public String getBodyStyleName()
      CSS class for the CubeGrid body
      Overrides:
      getBodyStyleName in class ListGrid
      Returns:
      Current bodyStyleName value. Default value is "cubeGridBody"
      See Also:
    • setCanCollapseFacets

      public CubeGrid setCanCollapseFacets(Boolean canCollapseFacets)
      If true, hierarchical facets will show expand/collapse controls to allow the user to expand and collapse the tree of facetValues for that facet.
      Parameters:
      canCollapseFacets - New canCollapseFacets value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getCanCollapseFacets

      public Boolean getCanCollapseFacets()
      If true, hierarchical facets will show expand/collapse controls to allow the user to expand and collapse the tree of facetValues for that facet.
      Returns:
      Current canCollapseFacets value. Default value is false
      See Also:
    • setCanDragSelect

      public CubeGrid setCanDragSelect(Boolean canDragSelect) throws IllegalStateException
      For touch browsers, canDragSelect defaults to false so that touch scrolling can be used to navigate scrollable CubeGrids. In all other browsers it defaults to true.

      NOTE: If canDragSelect is enabled, it may be desirable to disable touch scrolling so that touch-dragging cells of the CubeGrid selects them rather than starting a scroll. If Canvas.disableTouchScrollingForDrag is set to true, then touch scrolling will be disabled automatically. However, for accessibility reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag-selection.

      Overrides:
      setCanDragSelect in class ListGrid
      Parameters:
      canDragSelect - New canDragSelect value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getCanDragSelect

      public Boolean getCanDragSelect()
      For touch browsers, canDragSelect defaults to false so that touch scrolling can be used to navigate scrollable CubeGrids. In all other browsers it defaults to true.

      NOTE: If canDragSelect is enabled, it may be desirable to disable touch scrolling so that touch-dragging cells of the CubeGrid selects them rather than starting a scroll. If Canvas.disableTouchScrollingForDrag is set to true, then touch scrolling will be disabled automatically. However, for accessibility reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag-selection.

      Overrides:
      getCanDragSelect in class ListGrid
      Returns:
      Current canDragSelect value. Default value is null
      See Also:
    • setCanEdit

      public CubeGrid setCanEdit(Boolean canEdit)
      Whether cells can be edited in this grid. Can be overridden on a per-facetValue basis.
      Overrides:
      setCanEdit in class ListGrid
      Parameters:
      canEdit - New canEdit value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getCanEdit

      public Boolean getCanEdit()
      Whether cells can be edited in this grid. Can be overridden on a per-facetValue basis.
      Overrides:
      getCanEdit in class ListGrid
      Returns:
      Current canEdit value. Default value is false
      See Also:
    • setCanMinimizeColumns

      public CubeGrid setCanMinimizeColumns(Boolean canMinimizeColumns)
      If true, allow columns in the grid body to be minimized (reduced to the width of the minimize control) by clicking on a minimize control in the innermost column headers.
      Parameters:
      canMinimizeColumns - New canMinimizeColumns value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanMinimizeColumns

      public Boolean getCanMinimizeColumns()
      If true, allow columns in the grid body to be minimized (reduced to the width of the minimize control) by clicking on a minimize control in the innermost column headers.
      Returns:
      Current canMinimizeColumns value. Default value is null
    • setCanMinimizeFacets

      public CubeGrid setCanMinimizeFacets(Boolean canMinimizeFacets)
      If true, when multiple facets are shown on a side, all facetValues in the second level of headers or higher will show controls to "minimize" the values of the next facet. Minimizing means showing only one, or very few, of the next facet's values.

      Set FacetValue.isMinimizeValue to indicate which facetValues should be shown when a facet is minimized.

      Parameters:
      canMinimizeFacets - New canMinimizeFacets value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanMinimizeFacets

      public Boolean getCanMinimizeFacets()
      If true, when multiple facets are shown on a side, all facetValues in the second level of headers or higher will show controls to "minimize" the values of the next facet. Minimizing means showing only one, or very few, of the next facet's values.

      Set FacetValue.isMinimizeValue to indicate which facetValues should be shown when a facet is minimized.

      Returns:
      Current canMinimizeFacets value. Default value is false
    • setCanMoveFacets

      public CubeGrid setCanMoveFacets(Boolean canMoveFacets)
      Whether row and column facets can be rearranged by the user, by dragging and dropping the facet labels.
      Parameters:
      canMoveFacets - New canMoveFacets value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanMoveFacets

      public Boolean getCanMoveFacets()
      Whether row and column facets can be rearranged by the user, by dragging and dropping the facet labels.
      Returns:
      Current canMoveFacets value. Default value is false
    • setCanReorderColumns

      public CubeGrid setCanReorderColumns(Boolean canReorderColumns)
      If true, body columns can be reordered via the innermost column headers.
      Parameters:
      canReorderColumns - New canReorderColumns value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanReorderColumns

      public Boolean getCanReorderColumns()
      If true, body columns can be reordered via the innermost column headers.
      Returns:
      Current canReorderColumns value. Default value is null
    • setCanResizeColumns

      public CubeGrid setCanResizeColumns(Boolean canResizeColumns)
      If true, body columns can be resized via the innermost column headers.
      Parameters:
      canResizeColumns - New canResizeColumns value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanResizeColumns

      public Boolean getCanResizeColumns()
      If true, body columns can be resized via the innermost column headers.
      Returns:
      Current canResizeColumns value. Default value is null
    • setCanSelectHeaders

      public CubeGrid setCanSelectHeaders(Boolean canSelectHeaders)
      Determines whether row or column facetValue headers can be selected.
      Parameters:
      canSelectHeaders - New canSelectHeaders value. Default value is true
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanSelectHeaders

      public Boolean getCanSelectHeaders()
      Determines whether row or column facetValue headers can be selected.
      Returns:
      Current canSelectHeaders value. Default value is true
    • setCanSelectValues

      public CubeGrid setCanSelectValues(Boolean canSelectValues)
      Determines whether cell values in the body can be selected.
      Parameters:
      canSelectValues - New canSelectValues value. Default value is true
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanSelectValues

      public Boolean getCanSelectValues()
      Determines whether cell values in the body can be selected.
      Returns:
      Current canSelectValues value. Default value is true
    • setCanSortData

      public CubeGrid setCanSortData(Boolean canSortData)
      If true, sort controls will be shown on facet values.

      When clicked, sort controls call CubeGrid.sortByFacetValues().

      Parameters:
      canSortData - New canSortData value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanSortData

      public Boolean getCanSortData()
      If true, sort controls will be shown on facet values.

      When clicked, sort controls call CubeGrid.sortByFacetValues().

      Returns:
      Current canSortData value. Default value is null
    • setCanSortFacets

      public CubeGrid setCanSortFacets(Boolean canSortFacets)
      If true, sort controls will be shown on FacetHeaders.

      When clicked, sort controls call CubeGrid.sortByFacetId().

      Parameters:
      canSortFacets - New canSortFacets value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCanSortFacets

      public Boolean getCanSortFacets()
      If true, sort controls will be shown on FacetHeaders.

      When clicked, sort controls call CubeGrid.sortByFacetId().

      Returns:
      Current canSortFacets value. Default value is null
    • setCellAlign

      public CubeGrid setCellAlign(Alignment cellAlign)
      Default align for cell values (in body).
      Parameters:
      cellAlign - New cellAlign value. Default value is "center"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getCellAlign

      public Alignment getCellAlign()
      Default align for cell values (in body).
      Returns:
      Current cellAlign value. Default value is "center"
    • setCellIdProperty

      public CubeGrid setCellIdProperty(String cellIdProperty) throws IllegalStateException
      Name of the property in a cell record that holds it's unique ID. Note cell record IDs are optional.
      Parameters:
      cellIdProperty - New cellIdProperty value. Default value is "ID"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getCellIdProperty

      public String getCellIdProperty()
      Name of the property in a cell record that holds it's unique ID. Note cell record IDs are optional.
      Returns:
      Current cellIdProperty value. Default value is "ID"
      See Also:
    • setChartConfirmThreshold

      public CubeGrid setChartConfirmThreshold(int chartConfirmThreshold) throws IllegalStateException
      If makeChart() is called with a chart specification that will show more than chartConfirmThreshold data elements, the user will be presented with a confirmation dialog.

      Set to 0 to disable this confirmation.

      Parameters:
      chartConfirmThreshold - New chartConfirmThreshold value. Default value is 2000
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getChartConfirmThreshold

      public int getChartConfirmThreshold()
      If makeChart() is called with a chart specification that will show more than chartConfirmThreshold data elements, the user will be presented with a confirmation dialog.

      Set to 0 to disable this confirmation.

      Returns:
      Current chartConfirmThreshold value. Default value is 2000
    • setChartConstructor

      public CubeGrid setChartConstructor(String chartConstructor) throws IllegalStateException
      Name of the Smart GWT Class to be used when creating charts. Must support the Chart interface.
      Overrides:
      setChartConstructor in class ListGrid
      Parameters:
      chartConstructor - New chartConstructor value. Default value is "FacetChart"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getChartConstructor

      public String getChartConstructor()
      Name of the Smart GWT Class to be used when creating charts. Must support the Chart interface.
      Overrides:
      getChartConstructor in class ListGrid
      Returns:
      Current chartConstructor value. Default value is "FacetChart"
    • setChartDialogTitle

      public CubeGrid setChartDialogTitle(String chartDialogTitle)
      Title for the Chart dialog.
      Parameters:
      chartDialogTitle - New chartDialogTitle value. Default value is "Chart"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getChartDialogTitle

      public String getChartDialogTitle()
      Title for the Chart dialog.
      Returns:
      Current chartDialogTitle value. Default value is "Chart"
    • setChartItemTitle

      public CubeGrid setChartItemTitle(String chartItemTitle)
      Title for the Chart menu item.
      Parameters:
      chartItemTitle - New chartItemTitle value. Default value is "Chart"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getChartItemTitle

      public String getChartItemTitle()
      Title for the Chart menu item.
      Returns:
      Current chartItemTitle value. Default value is "Chart"
    • setChartStackedTitle

      public CubeGrid setChartStackedTitle(String chartStackedTitle)
      Title for the stacked chart item.
      Parameters:
      chartStackedTitle - New chartStackedTitle value. Default value is "Stacked"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getChartStackedTitle

      public String getChartStackedTitle()
      Title for the stacked chart item.
      Returns:
      Current chartStackedTitle value. Default value is "Stacked"
    • setChartType

      public CubeGrid setChartType(ChartType chartType)
      Default type of chart to plot.
      Overrides:
      setChartType in class ListGrid
      Parameters:
      chartType - New chartType value. Default value is "Column"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getChartType

      public ChartType getChartType()
      Default type of chart to plot.
      Overrides:
      getChartType in class ListGrid
      Returns:
      Current chartType value. Default value is "Column"
    • setChartTypeTitle

      public CubeGrid setChartTypeTitle(String chartTypeTitle)
      Title for the chart-type control.
      Parameters:
      chartTypeTitle - New chartTypeTitle value. Default value is "Chart Type"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getChartTypeTitle

      public String getChartTypeTitle()
      Title for the chart-type control.
      Returns:
      Current chartTypeTitle value. Default value is "Chart Type"
    • setColHeaderBaseStyle

      public CubeGrid setColHeaderBaseStyle(String colHeaderBaseStyle) throws IllegalStateException
      baseStyle for the buttons in this grid's column headers.

      Exception: The innermost column header will always be styled using innerHeaderBaseStyle.

      Parameters:
      colHeaderBaseStyle - New colHeaderBaseStyle value. Default value is "colHeader"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getColHeaderBaseStyle

      public String getColHeaderBaseStyle()
      baseStyle for the buttons in this grid's column headers.

      Exception: The innermost column header will always be styled using innerHeaderBaseStyle.

      Returns:
      Current colHeaderBaseStyle value. Default value is "colHeader"
      See Also:
    • setColHeaderLabelBaseStyle

      public CubeGrid setColHeaderLabelBaseStyle(String colHeaderLabelBaseStyle) throws IllegalStateException
      baseStyle for the facet-label buttons above this grid's column headers.
      Parameters:
      colHeaderLabelBaseStyle - New colHeaderLabelBaseStyle value. Default value is "colHeaderLabel"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getColHeaderLabelBaseStyle

      public String getColHeaderLabelBaseStyle()
      baseStyle for the facet-label buttons above this grid's column headers.
      Returns:
      Current colHeaderLabelBaseStyle value. Default value is "colHeaderLabel"
      See Also:
    • setColumnFacets

      public CubeGrid setColumnFacets(String... columnFacets) throws IllegalStateException
      The list of ids for facets that will appear on top of the body.
      Parameters:
      columnFacets - New columnFacets value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getColumnFacets

      public String[] getColumnFacets()
      The list of ids for facets that will appear on top of the body.
      Returns:
      Current columnFacets value. Default value is null
    • setControlCloseTitle

      public CubeGrid setControlCloseTitle(String controlCloseTitle)
      Title for the close control.
      Parameters:
      controlCloseTitle - New controlCloseTitle value. Default value is "Close"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getControlCloseTitle

      public String getControlCloseTitle()
      Title for the close control.
      Returns:
      Current controlCloseTitle value. Default value is "Close"
    • setControlMaximizeTitle

      public CubeGrid setControlMaximizeTitle(String controlMaximizeTitle)
      Title for the maximize control.
      Parameters:
      controlMaximizeTitle - New controlMaximizeTitle value. Default value is "Maximize"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getControlMaximizeTitle

      public String getControlMaximizeTitle()
      Title for the maximize control.
      Returns:
      Current controlMaximizeTitle value. Default value is "Maximize"
    • setControlMinimizeTitle

      public CubeGrid setControlMinimizeTitle(String controlMinimizeTitle)
      Title for the minimize control.
      Parameters:
      controlMinimizeTitle - New controlMinimizeTitle value. Default value is "Minimize"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getControlMinimizeTitle

      public String getControlMinimizeTitle()
      Title for the minimize control.
      Returns:
      Current controlMinimizeTitle value. Default value is "Minimize"
    • setControlReorderHandleTitle

      public CubeGrid setControlReorderHandleTitle(String controlReorderHandleTitle)
      Title for the resizeHandle control.
      Parameters:
      controlReorderHandleTitle - New controlReorderHandleTitle value. Default value is "Move"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getControlReorderHandleTitle

      public String getControlReorderHandleTitle()
      Title for the resizeHandle control.
      Returns:
      Current controlReorderHandleTitle value. Default value is "Move"
    • setControlSortDownTitle

      public CubeGrid setControlSortDownTitle(String controlSortDownTitle)
      Title for the sort-down control.
      Parameters:
      controlSortDownTitle - New controlSortDownTitle value. Default value is "Sort Down"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getControlSortDownTitle

      public String getControlSortDownTitle()
      Title for the sort-down control.
      Returns:
      Current controlSortDownTitle value. Default value is "Sort Down"
    • setControlSortUpTitle

      public CubeGrid setControlSortUpTitle(String controlSortUpTitle)
      Title for the sort-up control.
      Parameters:
      controlSortUpTitle - New controlSortUpTitle value. Default value is "Sort Up"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getControlSortUpTitle

      public String getControlSortUpTitle()
      Title for the sort-up control.
      Returns:
      Current controlSortUpTitle value. Default value is "Sort Up"
    • setDefaultFacetWidth

      public CubeGrid setDefaultFacetWidth(int defaultFacetWidth)
      Default width of inner column headers.
      Parameters:
      defaultFacetWidth - New defaultFacetWidth value. Default value is 100
      Returns:
      CubeGrid instance, for chaining setter calls
    • getDefaultFacetWidth

      public int getDefaultFacetWidth()
      Default width of inner column headers.
      Returns:
      Current defaultFacetWidth value. Default value is 100
    • getEditByCell

      public Boolean getEditByCell() throws IllegalStateException
      CubeGrids only support editing by cell.

      Note : This method should be called only after the widget has been rendered.

      Overrides:
      getEditByCell in class ListGrid
      Returns:
      Current editByCell value. Default value is true
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
      See Also:
    • setExportColumnFacetBGColor

      public CubeGrid setExportColumnFacetBGColor(String exportColumnFacetBGColor) throws IllegalStateException
      Sets the background color for the column headers of the cube. See also ExportBGColor.
      Parameters:
      exportColumnFacetBGColor - New exportColumnFacetBGColor value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getExportColumnFacetBGColor

      public String getExportColumnFacetBGColor()
      Sets the background color for the column headers of the cube. See also ExportBGColor.
      Returns:
      Current exportColumnFacetBGColor value. Default value is null
      See Also:
    • setExportColumnFacetTextColor

      public CubeGrid setExportColumnFacetTextColor(String exportColumnFacetTextColor) throws IllegalStateException
      Sets the text color for the column headers of the cube.
      Parameters:
      exportColumnFacetTextColor - New exportColumnFacetTextColor value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getExportColumnFacetTextColor

      public String getExportColumnFacetTextColor()
      Sets the text color for the column headers of the cube.
      Returns:
      Current exportColumnFacetTextColor value. Default value is null
      See Also:
    • setExportFacetBGColor

      public CubeGrid setExportFacetBGColor(String exportFacetBGColor) throws IllegalStateException
      Sets the background color for the row and column headers of the cube, if not otherwise set by a more specific property. (see exportRowFacetBGColor() and exportColumnFacetBGColor()). See also ExportBGColor.
      Parameters:
      exportFacetBGColor - New exportFacetBGColor value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getExportFacetBGColor

      public String getExportFacetBGColor()
      Sets the background color for the row and column headers of the cube, if not otherwise set by a more specific property. (see exportRowFacetBGColor() and exportColumnFacetBGColor()). See also ExportBGColor.
      Returns:
      Current exportFacetBGColor value. Default value is null
      See Also:
    • setExportFacetSeparatorString

      public CubeGrid setExportFacetSeparatorString(String exportFacetSeparatorString)
      Default separator string used by exportClientData() to separate column and row facet value titles.

      Note : This is an advanced setting

      Parameters:
      exportFacetSeparatorString - New exportFacetSeparatorString value. Default value is " - "
      Returns:
      CubeGrid instance, for chaining setter calls
    • getExportFacetSeparatorString

      public String getExportFacetSeparatorString()
      Default separator string used by exportClientData() to separate column and row facet value titles.
      Returns:
      Current exportFacetSeparatorString value. Default value is " - "
    • setExportFacetTextColor

      public CubeGrid setExportFacetTextColor(String exportFacetTextColor) throws IllegalStateException
      Sets the text color for the row and column headers of the cube, if not otherwise set by a more specific property. (see exportRowFacetTextColor() and exportColumnFacetTextColor()).
      Parameters:
      exportFacetTextColor - New exportFacetTextColor value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getExportFacetTextColor

      public String getExportFacetTextColor()
      Sets the text color for the row and column headers of the cube, if not otherwise set by a more specific property. (see exportRowFacetTextColor() and exportColumnFacetTextColor()).
      Returns:
      Current exportFacetTextColor value. Default value is null
      See Also:
    • setExportRowFacetBGColor

      public CubeGrid setExportRowFacetBGColor(String exportRowFacetBGColor) throws IllegalStateException
      Sets the background color for the row headers of the cube. See also ExportBGColor.
      Parameters:
      exportRowFacetBGColor - New exportRowFacetBGColor value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getExportRowFacetBGColor

      public String getExportRowFacetBGColor()
      Sets the background color for the row headers of the cube. See also ExportBGColor.
      Returns:
      Current exportRowFacetBGColor value. Default value is null
      See Also:
    • setExportRowFacetTextColor

      public CubeGrid setExportRowFacetTextColor(String exportRowFacetTextColor) throws IllegalStateException
      Sets the text color for the row headers of the cube.
      Parameters:
      exportRowFacetTextColor - New exportRowFacetTextColor value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getExportRowFacetTextColor

      public String getExportRowFacetTextColor()
      Sets the text color for the row headers of the cube.
      Returns:
      Current exportRowFacetTextColor value. Default value is null
      See Also:
    • setFacetLabelHoverAlign

      public CubeGrid setFacetLabelHoverAlign(Alignment facetLabelHoverAlign)
      Allows the developer to override the horizontal text alignment of hover tips shown for facetLabels. If unspecified the hover canvas content alignment will be set by this.hoverAlign if specified.

      Note : This is an advanced setting

      Parameters:
      facetLabelHoverAlign - New facetLabelHoverAlign value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetLabelHoverAlign

      public Alignment getFacetLabelHoverAlign()
      Allows the developer to override the horizontal text alignment of hover tips shown for facetLabels. If unspecified the hover canvas content alignment will be set by this.hoverAlign if specified.
      Returns:
      Current facetLabelHoverAlign value. Default value is null
      See Also:
    • setFacetLabelHoverHeight

      public CubeGrid setFacetLabelHoverHeight(Integer facetLabelHoverHeight)
      If specified and this.showHover is true, this is the default height to apply to hover tips shown for facetLabels. If unset, the hover canvas will be sized to this.hoverHeight if specified instead.

      Note : This is an advanced setting

      Parameters:
      facetLabelHoverHeight - New facetLabelHoverHeight value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetLabelHoverHeight

      public Integer getFacetLabelHoverHeight()
      If specified and this.showHover is true, this is the default height to apply to hover tips shown for facetLabels. If unset, the hover canvas will be sized to this.hoverHeight if specified instead.
      Returns:
      Current facetLabelHoverHeight value. Default value is null
      See Also:
    • setFacetLabelHoverHeight

      public CubeGrid setFacetLabelHoverHeight(String facetLabelHoverHeight)
      If specified and this.showHover is true, this is the default height to apply to hover tips shown for facetLabels. If unset, the hover canvas will be sized to this.hoverHeight if specified instead.

      Note : This is an advanced setting

      Parameters:
      facetLabelHoverHeight - New facetLabelHoverHeight value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetLabelHoverHeightAsString

      public String getFacetLabelHoverHeightAsString()
      If specified and this.showHover is true, this is the default height to apply to hover tips shown for facetLabels. If unset, the hover canvas will be sized to this.hoverHeight if specified instead.
      Returns:
      Current facetLabelHoverHeight value. Default value is null
      See Also:
    • setFacetLabelHoverStyle

      public CubeGrid setFacetLabelHoverStyle(String facetLabelHoverStyle)
      Allows the developer to override the css class applied to hover tips shown for facet labels. If unspecified, and this.hoverStyle is not null, that css class will be applied to facet label hovers instead.

      Note : This is an advanced setting

      Parameters:
      facetLabelHoverStyle - New facetLabelHoverStyle value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetLabelHoverStyle

      public String getFacetLabelHoverStyle()
      Allows the developer to override the css class applied to hover tips shown for facet labels. If unspecified, and this.hoverStyle is not null, that css class will be applied to facet label hovers instead.
      Returns:
      Current facetLabelHoverStyle value. Default value is null
      See Also:
    • setFacetLabelHoverVAlign

      public CubeGrid setFacetLabelHoverVAlign(VerticalAlignment facetLabelHoverVAlign)
      Allows the developer to override the vertical text alignment of hover tips shown for facetLabels. If unspecified the hover canvas content alignment will be set by this.hoverVAlign if specified.

      Note : This is an advanced setting

      Parameters:
      facetLabelHoverVAlign - New facetLabelHoverVAlign value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetLabelHoverVAlign

      public VerticalAlignment getFacetLabelHoverVAlign()
      Allows the developer to override the vertical text alignment of hover tips shown for facetLabels. If unspecified the hover canvas content alignment will be set by this.hoverVAlign if specified.
      Returns:
      Current facetLabelHoverVAlign value. Default value is null
      See Also:
    • setFacetLabelHoverWidth

      public CubeGrid setFacetLabelHoverWidth(Integer facetLabelHoverWidth)
      If specified and this.showHover is true, this is the default width to apply to hover tips shown for facetLabels. If unset, the hover canvas will be sized to this.hoverWidth if specified instead.

      Note : This is an advanced setting

      Parameters:
      facetLabelHoverWidth - New facetLabelHoverWidth value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetLabelHoverWidth

      public Integer getFacetLabelHoverWidth()
      If specified and this.showHover is true, this is the default width to apply to hover tips shown for facetLabels. If unset, the hover canvas will be sized to this.hoverWidth if specified instead.
      Returns:
      Current facetLabelHoverWidth value. Default value is null
      See Also:
    • setFacetLabelHoverWidth

      public CubeGrid setFacetLabelHoverWidth(String facetLabelHoverWidth)
      If specified and this.showHover is true, this is the default width to apply to hover tips shown for facetLabels. If unset, the hover canvas will be sized to this.hoverWidth if specified instead.

      Note : This is an advanced setting

      Parameters:
      facetLabelHoverWidth - New facetLabelHoverWidth value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetLabelHoverWidthAsString

      public String getFacetLabelHoverWidthAsString()
      If specified and this.showHover is true, this is the default width to apply to hover tips shown for facetLabels. If unset, the hover canvas will be sized to this.hoverWidth if specified instead.
      Returns:
      Current facetLabelHoverWidth value. Default value is null
      See Also:
    • setFacets

      public CubeGrid setFacets(Facet... facets) throws IllegalStateException
      Facet definitions for this CubeGrid. Facets, also called "dimensions", are orthogonal aspects of the data model.

      For example, you can look at profit by the facets "plant and product" or by "product and plant" and it's the same number, because the facets - plant and product - are the same. What would change the profit numbers would be to remove a facet, called "summarizing", or add a new facet, called "drilling down". For example, showing profit by plant and product, you could "drill down" by adding the region facet, which would divide profit among each region. Or you could remove the "plant" facet, showing total profit for each "product", summed across all plants.

      This property need not be set and will automatically be constructed during widget initialization if data is provided up front and rowFacets and columnFacets have been set. If facets is not set and there is no initial data but a DataSource is present, drawing the grid will automatically issue a fetch to allow facets to be resolved.

      Parameters:
      facets - New facets value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • setFacetTitleAlign

      public CubeGrid setFacetTitleAlign(Alignment facetTitleAlign)
      Default alignment for facet labels.

      If this method is called after the component has been drawn/initialized: Set the align of a facet title (appears in facet label).
      Parameters:
      facetTitleAlign - facet to update. Default value is "center"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getFacetTitleAlign

      public Alignment getFacetTitleAlign()
      Default alignment for facet labels.
      Returns:
      Current facetTitleAlign value. Default value is "center"
    • setFacetValueAlign

      public CubeGrid setFacetValueAlign(Alignment facetValueAlign)
      Default alignment for facet values (in headers).
      Parameters:
      facetValueAlign - New facetValueAlign value. Default value is "center"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getFacetValueAlign

      public Alignment getFacetValueAlign()
      Default alignment for facet values (in headers).
      Returns:
      Current facetValueAlign value. Default value is "center"
    • setFacetValueContextItems

      public CubeGrid setFacetValueContextItems(MenuItem... facetValueContextItems)
      Array of MenuItem to replace the default menu. Call getDefaultFacetValueContextItems() to get a default set of items to start with.
      Parameters:
      facetValueContextItems - New facetValueContextItems value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getFacetValueContextItems

      public MenuItem[] getFacetValueContextItems()
      Array of MenuItem to replace the default menu. Call getDefaultFacetValueContextItems() to get a default set of items to start with.
      Returns:
      Current facetValueContextItems value. Default value is null
    • setFacetValueHoverAlign

      public CubeGrid setFacetValueHoverAlign(Alignment facetValueHoverAlign)
      Allows the developer to override the horizontal text alignment of hover tips shown for facet values. If unspecified the hover canvas content alignment will be set by this.hoverAlign if specified.

      Note : This is an advanced setting

      Parameters:
      facetValueHoverAlign - New facetValueHoverAlign value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetValueHoverAlign

      public Alignment getFacetValueHoverAlign()
      Allows the developer to override the horizontal text alignment of hover tips shown for facet values. If unspecified the hover canvas content alignment will be set by this.hoverAlign if specified.
      Returns:
      Current facetValueHoverAlign value. Default value is null
      See Also:
    • setFacetValueHoverHeight

      public CubeGrid setFacetValueHoverHeight(Integer facetValueHoverHeight)
      If specified and this.showHover is true, this is the default height to apply to hover tips shown for facetValues. If unset, the hover canvas will be sized to this.hoverHeight if specified instead.

      Note : This is an advanced setting

      Parameters:
      facetValueHoverHeight - New facetValueHoverHeight value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetValueHoverHeight

      public Integer getFacetValueHoverHeight()
      If specified and this.showHover is true, this is the default height to apply to hover tips shown for facetValues. If unset, the hover canvas will be sized to this.hoverHeight if specified instead.
      Returns:
      Current facetValueHoverHeight value. Default value is null
      See Also:
    • setFacetValueHoverHeight

      public CubeGrid setFacetValueHoverHeight(String facetValueHoverHeight)
      If specified and this.showHover is true, this is the default height to apply to hover tips shown for facetValues. If unset, the hover canvas will be sized to this.hoverHeight if specified instead.

      Note : This is an advanced setting

      Parameters:
      facetValueHoverHeight - New facetValueHoverHeight value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetValueHoverHeightAsString

      public String getFacetValueHoverHeightAsString()
      If specified and this.showHover is true, this is the default height to apply to hover tips shown for facetValues. If unset, the hover canvas will be sized to this.hoverHeight if specified instead.
      Returns:
      Current facetValueHoverHeight value. Default value is null
      See Also:
    • setFacetValueHoverStyle

      public CubeGrid setFacetValueHoverStyle(String facetValueHoverStyle)
      Allows the developer to override the css class applied to hover tips shown for facet values. If unspecified, and this.hoverStyle is not null, that css class will be applied to facet value hovers instead.

      Note : This is an advanced setting

      Parameters:
      facetValueHoverStyle - New facetValueHoverStyle value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetValueHoverStyle

      public String getFacetValueHoverStyle()
      Allows the developer to override the css class applied to hover tips shown for facet values. If unspecified, and this.hoverStyle is not null, that css class will be applied to facet value hovers instead.
      Returns:
      Current facetValueHoverStyle value. Default value is null
      See Also:
    • setFacetValueHoverVAlign

      public CubeGrid setFacetValueHoverVAlign(VerticalAlignment facetValueHoverVAlign)
      Allows the developer to override the vertical text alignment of hover tips shown for facet values. If unspecified the hover canvas content alignment will be set by this.hoverVAlign if specified.

      Note : This is an advanced setting

      Parameters:
      facetValueHoverVAlign - New facetValueHoverVAlign value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetValueHoverVAlign

      public VerticalAlignment getFacetValueHoverVAlign()
      Allows the developer to override the vertical text alignment of hover tips shown for facet values. If unspecified the hover canvas content alignment will be set by this.hoverVAlign if specified.
      Returns:
      Current facetValueHoverVAlign value. Default value is null
      See Also:
    • setFacetValueHoverWidth

      public CubeGrid setFacetValueHoverWidth(Integer facetValueHoverWidth)
      If specified and this.showHover is true, this is the default width to apply to hover tips shown for facetValues. If unset, the hover canvas will be sized to this.hoverWidth if specified instead.

      Note : This is an advanced setting

      Parameters:
      facetValueHoverWidth - New facetValueHoverWidth value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetValueHoverWidth

      public Integer getFacetValueHoverWidth()
      If specified and this.showHover is true, this is the default width to apply to hover tips shown for facetValues. If unset, the hover canvas will be sized to this.hoverWidth if specified instead.
      Returns:
      Current facetValueHoverWidth value. Default value is null
      See Also:
    • setFacetValueHoverWidth

      public CubeGrid setFacetValueHoverWidth(String facetValueHoverWidth)
      If specified and this.showHover is true, this is the default width to apply to hover tips shown for facetValues. If unset, the hover canvas will be sized to this.hoverWidth if specified instead.

      Note : This is an advanced setting

      Parameters:
      facetValueHoverWidth - New facetValueHoverWidth value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getFacetValueHoverWidthAsString

      public String getFacetValueHoverWidthAsString()
      If specified and this.showHover is true, this is the default width to apply to hover tips shown for facetValues. If unset, the hover canvas will be sized to this.hoverWidth if specified instead.
      Returns:
      Current facetValueHoverWidth value. Default value is null
      See Also:
    • setFetchRequestProperties

      public CubeGrid setFetchRequestProperties(DSRequest fetchRequestProperties) throws IllegalStateException
      If autoFetchData is true, this attribute allows the developer to declaratively specify DSRequest properties for the initial fetchData() call.

      Note that any properties governing more specific request attributes for the initial fetch (such as autoFetchTextMatchStyle) will be applied on top of this properties block.

      Overrides:
      setFetchRequestProperties in class ListGrid
      Parameters:
      fetchRequestProperties - New fetchRequestProperties value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getFetchRequestProperties

      public DSRequest getFetchRequestProperties()
      If autoFetchData is true, this attribute allows the developer to declaratively specify DSRequest properties for the initial fetchData() call.

      Note that any properties governing more specific request attributes for the initial fetch (such as autoFetchTextMatchStyle) will be applied on top of this properties block.

      Overrides:
      getFetchRequestProperties in class ListGrid
      Returns:
      Current fetchRequestProperties value. Default value is null
      See Also:
    • setFieldVisibilitySubmenuTitle

      public CubeGrid setFieldVisibilitySubmenuTitle(String fieldVisibilitySubmenuTitle)
      Title for the Field-visibility submenu item.
      Overrides:
      setFieldVisibilitySubmenuTitle in class ListGrid
      Parameters:
      fieldVisibilitySubmenuTitle - New fieldVisibilitySubmenuTitle value. Default value is "Values"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getFieldVisibilitySubmenuTitle

      public String getFieldVisibilitySubmenuTitle()
      Title for the Field-visibility submenu item.
      Overrides:
      getFieldVisibilitySubmenuTitle in class ListGrid
      Returns:
      Current fieldVisibilitySubmenuTitle value. Default value is "Values"
    • setFixedFacetValues

      public CubeGrid setFixedFacetValues(FacetValueMap fixedFacetValues) throws IllegalStateException
      A FacetValueMap describing the set of facet values that should be regarded as "fixed" in this cubeGrid. These are used as fixed criteria for load on demand, and also allow using a dataset with more facets in it than are currently shown in the grid.
      Parameters:
      fixedFacetValues - New fixedFacetValues value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getFixedFacetValues

      public FacetValueMap getFixedFacetValues()
      A FacetValueMap describing the set of facet values that should be regarded as "fixed" in this cubeGrid. These are used as fixed criteria for load on demand, and also allow using a dataset with more facets in it than are currently shown in the grid.
      Returns:
      Current fixedFacetValues value. Default value is null
      See Also:
    • setHideAllHighlightsTitle

      public CubeGrid setHideAllHighlightsTitle(String hideAllHighlightsTitle)
      Title for the hide all highlights menu item.
      Parameters:
      hideAllHighlightsTitle - New hideAllHighlightsTitle value. Default value is "Hide all"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getHideAllHighlightsTitle

      public String getHideAllHighlightsTitle()
      Title for the hide all highlights menu item.
      Returns:
      Current hideAllHighlightsTitle value. Default value is "Hide all"
    • setHideEmptyAxis

      public CubeGrid setHideEmptyAxis(Axis hideEmptyAxis) throws IllegalStateException
      With hideEmptyFacetValues, controls on which axis hiding of empty values is applied, "row" (only empty rows are hidden), "column" (only empty columns are hidden) or both (the default).
      Parameters:
      hideEmptyAxis - New hideEmptyAxis value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getHideEmptyAxis

      public Axis getHideEmptyAxis()
      With hideEmptyFacetValues, controls on which axis hiding of empty values is applied, "row" (only empty rows are hidden), "column" (only empty columns are hidden) or both (the default).
      Returns:
      Current hideEmptyAxis value. Default value is null
    • setHideEmptyFacetValues

      public CubeGrid setHideEmptyFacetValues(Boolean hideEmptyFacetValues) throws IllegalStateException
      This causes the headers for any combination of facetValues for which there are no cellRecords to be suppressed.

      To use this feature, either:

      • all must be provided via setData() before the CubeGrid is first drawn, OR
      • all data must be returned by the first DataSource fetch, OR
      • hideEmptyAxis must be set to either "row" or "column" so that empty values are only automatically hidden for one axis
      This last point is required because there is no way to determine whether a row is empty unless data for all columns of the row has been loaded (and vice-versa). For this reason if you set hideEmptyFacetValues but do not set hideEmptyAxis, the default behavior of loading only visible data is automatically disabled and only fixedFacetValues will be sent as criteria.
      Parameters:
      hideEmptyFacetValues - New hideEmptyFacetValues value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getHideEmptyFacetValues

      public Boolean getHideEmptyFacetValues()
      This causes the headers for any combination of facetValues for which there are no cellRecords to be suppressed.

      To use this feature, either:

      • all must be provided via setData() before the CubeGrid is first drawn, OR
      • all data must be returned by the first DataSource fetch, OR
      • hideEmptyAxis must be set to either "row" or "column" so that empty values are only automatically hidden for one axis
      This last point is required because there is no way to determine whether a row is empty unless data for all columns of the row has been loaded (and vice-versa). For this reason if you set hideEmptyFacetValues but do not set hideEmptyAxis, the default behavior of loading only visible data is automatically disabled and only fixedFacetValues will be sent as criteria.
      Returns:
      Current hideEmptyFacetValues value. Default value is null
    • setHighlightCellTitle

      public CubeGrid setHighlightCellTitle(String highlightCellTitle)
      Title for the cell highlight menu item.
      Parameters:
      highlightCellTitle - New highlightCellTitle value. Default value is "Highlight Cell"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getHighlightCellTitle

      public String getHighlightCellTitle()
      Title for the cell highlight menu item.
      Returns:
      Current highlightCellTitle value. Default value is "Highlight Cell"
    • setHighlightSelectionTitle

      public CubeGrid setHighlightSelectionTitle(String highlightSelectionTitle)
      Title for the selection highlight menu item.
      Parameters:
      highlightSelectionTitle - New highlightSelectionTitle value. Default value is "Highlight Selection"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getHighlightSelectionTitle

      public String getHighlightSelectionTitle()
      Title for the selection highlight menu item.
      Returns:
      Current highlightSelectionTitle value. Default value is "Highlight Selection"
    • setHighlightTitle

      public CubeGrid setHighlightTitle(String highlightTitle)
      Title for the highlight menu item.
      Parameters:
      highlightTitle - New highlightTitle value. Default value is "Highlight"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getHighlightTitle

      public String getHighlightTitle()
      Title for the highlight menu item.
      Returns:
      Current highlightTitle value. Default value is "Highlight"
    • setHilites

      public CubeGrid setHilites(Hilite... hilites)
      Hilites to be applied to the data for this component. See Hiliting.
      Specified by:
      setHilites in interface DataBoundComponent
      Overrides:
      setHilites in class ListGrid
      Parameters:
      hilites - New hilites value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getHilites

      public Hilite[] getHilites()
      Hilites to be applied to the data for this component. See Hiliting.
      Specified by:
      getHilites in interface DataBoundComponent
      Overrides:
      getHilites in class ListGrid
      Returns:
      Current hilites value. Default value is null
      See Also:
    • setIndentVTreeFacets

      public CubeGrid setIndentVTreeFacets(boolean indentVTreeFacets) throws IllegalStateException
      Turns on indenting of any hierarchical column facets. This can be overridden at the facet level via Facet.indentVTree. Setting this property also ensures that the header is sized tall enough to accommodate the fully expanded facet.

      The amount of indenting per level can be set with vTreeFacetIndent, and the direction of the indenting specified with vTreeFacetIndentDirection.

      Note that if you specify an explicit height for such a fscet, such as by setting Facet.height or Facet.labelHeight, then the greater of that or the space required to accommodate the fully expanded facet will determine the actual height used.

      Parameters:
      indentVTreeFacets - New indentVTreeFacets value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getIndentVTreeFacets

      public boolean getIndentVTreeFacets()
      Turns on indenting of any hierarchical column facets. This can be overridden at the facet level via Facet.indentVTree. Setting this property also ensures that the header is sized tall enough to accommodate the fully expanded facet.

      The amount of indenting per level can be set with vTreeFacetIndent, and the direction of the indenting specified with vTreeFacetIndentDirection.

      Note that if you specify an explicit height for such a fscet, such as by setting Facet.height or Facet.labelHeight, then the greater of that or the space required to accommodate the fully expanded facet will determine the actual height used.

      Returns:
      Current indentVTreeFacets value. Default value is false
      See Also:
    • setInnerHeaderBaseStyle

      public CubeGrid setInnerHeaderBaseStyle(String innerHeaderBaseStyle) throws IllegalStateException
      baseStyle for the buttons in the innermost column header for this cubeGrid.
      Parameters:
      innerHeaderBaseStyle - New innerHeaderBaseStyle value. Default value is "innerHeader"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getInnerHeaderBaseStyle

      public String getInnerHeaderBaseStyle()
      baseStyle for the buttons in the innermost column header for this cubeGrid.
      Returns:
      Current innerHeaderBaseStyle value. Default value is "innerHeader"
      See Also:
    • setMaximizeColumnTitle

      public CubeGrid setMaximizeColumnTitle(String maximizeColumnTitle)
      Title for the maximize-column menu item.
      Parameters:
      maximizeColumnTitle - New maximizeColumnTitle value. Default value is "Maximize Column"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getMaximizeColumnTitle

      public String getMaximizeColumnTitle()
      Title for the maximize-column menu item.
      Returns:
      Current maximizeColumnTitle value. Default value is "Maximize Column"
    • setMetricFacetId

      public CubeGrid setMetricFacetId(String metricFacetId) throws IllegalStateException
      In a CubeGrid that displays values of different types (eg "Revenue" and "Income"), the different types of values on display are enumerated as the facet values of the "metric facet".

      The metric facet is treated identically to any other facet by the CubeGrid: it can be represented as row or column headers, can be innermost or have other facets under it, can be moved around, etc. However when a metric facet is used, metricFacetId must be set to allow the CubeGrid to generate meaningful descriptions of values shown in cells for use in hovers and other situations; see valueTitle for a full explanation.

      Parameters:
      metricFacetId - New metricFacetId value. Default value is "metric"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getMetricFacetId

      public String getMetricFacetId()
      In a CubeGrid that displays values of different types (eg "Revenue" and "Income"), the different types of values on display are enumerated as the facet values of the "metric facet".

      The metric facet is treated identically to any other facet by the CubeGrid: it can be represented as row or column headers, can be innermost or have other facets under it, can be moved around, etc. However when a metric facet is used, metricFacetId must be set to allow the CubeGrid to generate meaningful descriptions of values shown in cells for use in hovers and other situations; see valueTitle for a full explanation.

      Returns:
      Current metricFacetId value. Default value is "metric"
    • setMinimizeColumnTitle

      public CubeGrid setMinimizeColumnTitle(String minimizeColumnTitle)
      Title for the minimize-column menu item.
      Parameters:
      minimizeColumnTitle - New minimizeColumnTitle value. Default value is "Minimize Column"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getMinimizeColumnTitle

      public String getMinimizeColumnTitle()
      Title for the minimize-column menu item.
      Returns:
      Current minimizeColumnTitle value. Default value is "Minimize Column"
    • setNoHighlightsTitle

      public CubeGrid setNoHighlightsTitle(String noHighlightsTitle)
      Title for the menu item that clears highlights.
      Parameters:
      noHighlightsTitle - New noHighlightsTitle value. Default value is "None"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getNoHighlightsTitle

      public String getNoHighlightsTitle()
      Title for the menu item that clears highlights.
      Returns:
      Current noHighlightsTitle value. Default value is "None"
    • setPadTitles

      public CubeGrid setPadTitles(Boolean padTitles)
      Whether to pad titles so they aren't flush with header borders.
      Parameters:
      padTitles - New padTitles value. Default value is true
      Returns:
      CubeGrid instance, for chaining setter calls
    • getPadTitles

      public Boolean getPadTitles()
      Whether to pad titles so they aren't flush with header borders.
      Returns:
      Current padTitles value. Default value is true
    • setRenameFacetValueMessage

      public CubeGrid setRenameFacetValueMessage(String renameFacetValueMessage)
      Message displayed when renaming a facet value.
      Parameters:
      renameFacetValueMessage - New renameFacetValueMessage value. Default value is "Enter the new name for this facet value:"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getRenameFacetValueMessage

      public String getRenameFacetValueMessage()
      Message displayed when renaming a facet value.
      Returns:
      Current renameFacetValueMessage value. Default value is "Enter the new name for this facet value:"
    • setRenameFacetValueTitle

      public CubeGrid setRenameFacetValueTitle(String renameFacetValueTitle)
      Title for the Rename menu item.
      Parameters:
      renameFacetValueTitle - New renameFacetValueTitle value. Default value is "Rename..."
      Returns:
      CubeGrid instance, for chaining setter calls
    • getRenameFacetValueTitle

      public String getRenameFacetValueTitle()
      Title for the Rename menu item.
      Returns:
      Current renameFacetValueTitle value. Default value is "Rename..."
    • setRollupValue

      public CubeGrid setRollupValue(String rollupValue) throws IllegalStateException
      facetValueId of the default rollupValue for each facet. Can be overridden per facet via facet.rollupValue.
      Parameters:
      rollupValue - New rollupValue value. Default value is "sum"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getRollupValue

      public String getRollupValue()
      facetValueId of the default rollupValue for each facet. Can be overridden per facet via facet.rollupValue.
      Returns:
      Get the facetValue definition for the facetValue to show when this facet is "rolled up" under another facet, during a breakout.

      A facet is not required to have a rollup value, and if it does not have one, then rollups will simply be blank rows. The facetValueId of the rollup value can be declared as cubeGrid.rollupValue or facet.rollupValue. Default value is "sum"
    • setRotateHeaderTitles

      public CubeGrid setRotateHeaderTitles(Boolean rotateHeaderTitles) throws IllegalStateException
      This property is not supported for CubeGrid.
      Overrides:
      setRotateHeaderTitles in class ListGrid
      Parameters:
      rotateHeaderTitles - New rotateHeaderTitles value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getRotateHeaderTitles

      public Boolean getRotateHeaderTitles()
      This property is not supported for CubeGrid.
      Overrides:
      getRotateHeaderTitles in class ListGrid
      Returns:
      Current rotateHeaderTitles value. Default value is null
      See Also:
    • setRowFacets

      public CubeGrid setRowFacets(String... rowFacets) throws IllegalStateException
      The list of ids for facets that will appear to the left of the body.
      Parameters:
      rowFacets - New rowFacets value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getRowFacets

      public String[] getRowFacets()
      The list of ids for facets that will appear to the left of the body.
      Returns:
      Current rowFacets value. Default value is null
      See Also:
    • setRowHeaderBaseStyle

      public CubeGrid setRowHeaderBaseStyle(String rowHeaderBaseStyle) throws IllegalStateException
      baseStyle for the buttons in this grid's row headers.
      Parameters:
      rowHeaderBaseStyle - New rowHeaderBaseStyle value. Default value is "rowHeader"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getRowHeaderBaseStyle

      public String getRowHeaderBaseStyle()
      baseStyle for the buttons in this grid's row headers.
      Returns:
      Current rowHeaderBaseStyle value. Default value is "rowHeader"
      See Also:
    • setRowHeaderGridMode

      public CubeGrid setRowHeaderGridMode(Boolean rowHeaderGridMode) throws IllegalStateException
      If enabled row headers for this cubeGrid will be rendered using a GridRenderer component. This improves performance for very large cubeGrids.

      Note that this attribute must be set for hierarchical row facets to be indented properly.

      Note : This is an advanced setting

      Parameters:
      rowHeaderGridMode - New rowHeaderGridMode value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getRowHeaderGridMode

      public Boolean getRowHeaderGridMode()
      If enabled row headers for this cubeGrid will be rendered using a GridRenderer component. This improves performance for very large cubeGrids.

      Note that this attribute must be set for hierarchical row facets to be indented properly.

      Returns:
      Current rowHeaderGridMode value. Default value is false
      See Also:
    • setRowHeaderLabelBaseStyle

      public CubeGrid setRowHeaderLabelBaseStyle(String rowHeaderLabelBaseStyle) throws IllegalStateException
      baseStyle for the facet-label buttons above the grid's row headers.
      Parameters:
      rowHeaderLabelBaseStyle - New rowHeaderLabelBaseStyle value. Default value is "rowHeaderLabel"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getRowHeaderLabelBaseStyle

      public String getRowHeaderLabelBaseStyle()
      baseStyle for the facet-label buttons above the grid's row headers.
      Returns:
      Current rowHeaderLabelBaseStyle value. Default value is "rowHeaderLabel"
      See Also:
    • getSaveByCell

      public Boolean getSaveByCell() throws IllegalStateException
      CubeGrids only support editing by cell.

      Note : This method should be called only after the widget has been rendered.

      Overrides:
      getSaveByCell in class ListGrid
      Returns:
      Current saveByCell value. Default value is true
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
      See Also:
    • setShowAllHighlightsTitle

      public CubeGrid setShowAllHighlightsTitle(String showAllHighlightsTitle)
      Title for the show all highlights menu item.
      Parameters:
      showAllHighlightsTitle - New showAllHighlightsTitle value. Default value is "Show all"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getShowAllHighlightsTitle

      public String getShowAllHighlightsTitle()
      Title for the show all highlights menu item.
      Returns:
      Current showAllHighlightsTitle value. Default value is "Show all"
    • setShowFacetContextMenus

      public CubeGrid setShowFacetContextMenus(boolean showFacetContextMenus)
      If true, show facet label context menus with some built-in operations. Otherwise, use generic context menu handling.
      Parameters:
      showFacetContextMenus - New showFacetContextMenus value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
    • getShowFacetContextMenus

      public boolean getShowFacetContextMenus()
      If true, show facet label context menus with some built-in operations. Otherwise, use generic context menu handling.
      Returns:
      Current showFacetContextMenus value. Default value is false
    • setShowFacetValueContextMenus

      public CubeGrid setShowFacetValueContextMenus(boolean showFacetValueContextMenus)
      If true, show facet value context menus with some built-in operations. Otherwise, use generic context menu handling. Use this in place of ListGrid.showHeaderContextMenu and ListGrid.showHeaderMenuButton for CubeGrids.
      Parameters:
      showFacetValueContextMenus - New showFacetValueContextMenus value. Default value is true
      Returns:
      CubeGrid instance, for chaining setter calls
    • getShowFacetValueContextMenus

      public boolean getShowFacetValueContextMenus()
      If true, show facet value context menus with some built-in operations. Otherwise, use generic context menu handling. Use this in place of ListGrid.showHeaderContextMenu and ListGrid.showHeaderMenuButton for CubeGrids.
      Returns:
      Current showFacetValueContextMenus value. Default value is true
    • setShowHighlightsTitle

      public CubeGrid setShowHighlightsTitle(String showHighlightsTitle)
      Title for the show highlights menu item.
      Parameters:
      showHighlightsTitle - New showHighlightsTitle value. Default value is "Show Highlights"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getShowHighlightsTitle

      public String getShowHighlightsTitle()
      Title for the show highlights menu item.
      Returns:
      Current showHighlightsTitle value. Default value is "Show Highlights"
    • setShowHoverTipsTitle

      public CubeGrid setShowHoverTipsTitle(String showHoverTipsTitle)
      Title for the show hover tips menu item.
      Parameters:
      showHoverTipsTitle - New showHoverTipsTitle value. Default value is "Show Hover Tips"
      Returns:
      CubeGrid instance, for chaining setter calls
    • getShowHoverTipsTitle

      public String getShowHoverTipsTitle()
      Title for the show hover tips menu item.
      Returns:
      Current showHoverTipsTitle value. Default value is "Show Hover Tips"
    • setSimpleDeselect

      public CubeGrid setSimpleDeselect(Boolean simpleDeselect)
      If true, clicking on the existing selection causes it to be entirely deselected.
      Parameters:
      simpleDeselect - New simpleDeselect value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
    • getSimpleDeselect

      public Boolean getSimpleDeselect()
      If true, clicking on the existing selection causes it to be entirely deselected.
      Returns:
      Current simpleDeselect value. Default value is false
    • setSkinImgDir

      public CubeGrid setSkinImgDir(String skinImgDir) throws IllegalStateException
      Default directory for skin images (those defined by the class), relative to the Page-wide skinDir.
      Overrides:
      setSkinImgDir in class ListGrid
      Parameters:
      skinImgDir - New skinImgDir value. Default value is "images/CubeGrid/"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getSkinImgDir

      public String getSkinImgDir()
      Default directory for skin images (those defined by the class), relative to the Page-wide skinDir.
      Overrides:
      getSkinImgDir in class ListGrid
      Returns:
      Current skinImgDir value. Default value is "images/CubeGrid/"
      See Also:
    • setSortDirection

      public CubeGrid setSortDirection(SortDirection sortDirection)
      Direction of sorting if sortedFacet or sortedFacetValues is specified.
      Overrides:
      setSortDirection in class ListGrid
      Parameters:
      sortDirection - New sortDirection value. Default value is "ascending"
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getSortDirection

      public SortDirection getSortDirection()
      Direction of sorting if sortedFacet or sortedFacetValues is specified.
      Overrides:
      getSortDirection in class ListGrid
      Returns:
      Current sortDirection value. Default value is "ascending"
      See Also:
    • setSortedFacetValues

      public CubeGrid setSortedFacetValues(FacetValueMap sortedFacetValues)
      FacetValueMap of facet values representing a set of facetValues by which the cubeGrid data is sorted.
      Parameters:
      sortedFacetValues - New sortedFacetValues value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
    • getSortedFacetValues

      public FacetValueMap getSortedFacetValues()
      FacetValueMap of facet values representing a set of facetValues by which the cubeGrid data is sorted.
      Returns:
      Current sortedFacetValues value. Default value is null
    • setStyleName

      public void setStyleName(String styleName)
      CSS class for the CubeGrid as a whole
      Overrides:
      setStyleName in class ListGrid
      Parameters:
      styleName - New styleName value. Default value is "normal"
      See Also:
    • getStyleName

      public String getStyleName()
      CSS class for the CubeGrid as a whole
      Overrides:
      getStyleName in class ListGrid
      Returns:
      Current styleName value. Default value is "normal"
      See Also:
    • setValueExportFormat

      public CubeGrid setValueExportFormat(String valueExportFormat) throws IllegalStateException
      FormatString used during exports for numeric or date formatting. See DataSourceField.exportFormat.
      Parameters:
      valueExportFormat - New valueExportFormat value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getValueExportFormat

      public String getValueExportFormat()
      FormatString used during exports for numeric or date formatting. See DataSourceField.exportFormat.
      Returns:
      Current valueExportFormat value. Default value is null
      See Also:
    • setValueFormat

      public CubeGrid setValueFormat(String valueFormat) throws IllegalStateException
      FormatString for numeric or date formatting. See DataSourceField.format.
      Parameters:
      valueFormat - New valueFormat value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getValueFormat

      public String getValueFormat()
      FormatString for numeric or date formatting. See DataSourceField.format.
      Returns:
      Current valueFormat value. Default value is null
      See Also:
    • setValueProperty

      public CubeGrid setValueProperty(String valueProperty) throws IllegalStateException
      Name of the property in a cell record that holds the cell value.
      Parameters:
      valueProperty - New valueProperty value. Default value is "_value"
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getValueProperty

      public String getValueProperty()
      Name of the property in a cell record that holds the cell value.
      Returns:
      Current valueProperty value. Default value is "_value"
      See Also:
    • setValueTitle

      public CubeGrid setValueTitle(String valueTitle) throws IllegalStateException
      A label for the data values shown in cells, such as "Sales in Thousands", typically used when the CubeGrid must generate a description for a cell value or set of cell values.

      For example, in a CubeGrid showing "Revenue" by region and product, a cell with a CellRecord like:

       
        {product:"chairs", region:"northwest", _value:"$5k"}
        
      Should be described as "Revenue for Chairs for Northwest Region", not "Chairs for Revenue for Northwest Region".

      For CubeGrids that show multiple types of values at once (eg both "Revenue" and "Income") see metricFacetId.

      Parameters:
      valueTitle - New valueTitle value. Default value is null
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getValueTitle

      public String getValueTitle()
      A label for the data values shown in cells, such as "Sales in Thousands", typically used when the CubeGrid must generate a description for a cell value or set of cell values.

      For example, in a CubeGrid showing "Revenue" by region and product, a cell with a CellRecord like:

       
        {product:"chairs", region:"northwest", _value:"$5k"}
        
      Should be described as "Revenue for Chairs for Northwest Region", not "Chairs for Revenue for Northwest Region".

      For CubeGrids that show multiple types of values at once (eg both "Revenue" and "Income") see metricFacetId.

      Returns:
      Current valueTitle value. Default value is null
    • setVTreeFacetIndent

      public CubeGrid setVTreeFacetIndent(int vTreeFacetIndent) throws IllegalStateException
      Determines how many pixels to move for each level when hierarchical column facets are being indented.
      Parameters:
      vTreeFacetIndent - New vTreeFacetIndent value. Default value is 8
      Returns:
      CubeGrid instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getVTreeFacetIndent

      public int getVTreeFacetIndent()
      Determines how many pixels to move for each level when hierarchical column facets are being indented.
      Returns:
      Current vTreeFacetIndent value. Default value is 8
      See Also:
    • setVTreeFacetIndentDirection

      public CubeGrid setVTreeFacetIndentDirection(FacetIndentDirection vTreeFacetIndentDirection)
      Determines layout of facet value titles in each column facet being indented.
      Parameters:
      vTreeFacetIndentDirection - New vTreeFacetIndentDirection value. Default value is CubeGrid.DESCENDING
      Returns:
      CubeGrid instance, for chaining setter calls
      See Also:
    • getVTreeFacetIndentDirection

      public FacetIndentDirection getVTreeFacetIndentDirection()
      Determines layout of facet value titles in each column facet being indented.
      Returns:
      Current vTreeFacetIndentDirection value. Default value is CubeGrid.DESCENDING
      See Also:
    • setWrapFacetTitles

      public CubeGrid setWrapFacetTitles(Boolean wrapFacetTitles)
      Whether to allow text wrapping on facet titles.
      Parameters:
      wrapFacetTitles - New wrapFacetTitles value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
    • getWrapFacetTitles

      public Boolean getWrapFacetTitles()
      Whether to allow text wrapping on facet titles.
      Returns:
      Current wrapFacetTitles value. Default value is false
    • setWrapFacetValueTitles

      public CubeGrid setWrapFacetValueTitles(Boolean wrapFacetValueTitles)
      Whether to allow text wrapping on facet value titles.

      Note that this property is incompatible with indented column facets.

      Parameters:
      wrapFacetValueTitles - New wrapFacetValueTitles value. Default value is false
      Returns:
      CubeGrid instance, for chaining setter calls
    • getWrapFacetValueTitles

      public Boolean getWrapFacetValueTitles()
      Whether to allow text wrapping on facet value titles.

      Note that this property is incompatible with indented column facets.

      Returns:
      Current wrapFacetValueTitles value. Default value is false
    • addColumnFacet

      public void addColumnFacet(String facetId)
      Add a column facet to the view at index "index". Handles the facet already being in the view (does a pivot).

      The facet being added should currently have a fixed facet value (unless it's already part of the view), which will be removed from cubeGrid.fixedFacetValues.
      methodType action
      Parameters:
      facetId - facetId to add. Definition must have been provided at init time. See Identifier
      See Also:
    • addColumnFacet

      public void addColumnFacet(String facetId, Integer index)
      Add a column facet to the view at index "index". Handles the facet already being in the view (does a pivot).

      The facet being added should currently have a fixed facet value (unless it's already part of the view), which will be removed from cubeGrid.fixedFacetValues.
      methodType action
      Parameters:
      facetId - facetId to add. Definition must have been provided at init time. See Identifier
      index - index to add the facet at. 0 = outermost (default innermost)
      See Also:
    • addFacet

      public void addFacet(String facetId)
      Add a facet to the view, into the row or column facets (intoRows true or false), at index "index". Handles the facet already being in the view (does a pivot).

      The facet being added should currently have a fixed facet value (unless it's already part of the view), which will be removed from cubeGrid.fixedFacetValues.

      Parameters:
      facetId - facetId to add. Definition must have been provided at init time. See Identifier
      See Also:
    • addFacet

      public void addFacet(String facetId, Boolean intoRows)
      See Also:
    • addFacet

      public void addFacet(String facetId, Boolean intoRows, Integer index)
      Add a facet to the view, into the row or column facets (intoRows true or false), at index "index". Handles the facet already being in the view (does a pivot).

      The facet being added should currently have a fixed facet value (unless it's already part of the view), which will be removed from cubeGrid.fixedFacetValues.

      Parameters:
      facetId - facetId to add. Definition must have been provided at init time. See Identifier
      intoRows - whether to add facet as a row facet
      index - index to add the facet at. 0 = outermost (default innermost)
      See Also:
    • addRowFacet

      public void addRowFacet(String facetId)
      Add a row facet to the view at index "index". Handles the facet already being in the view (does a pivot).

      The facet being added should currently have a fixed facet value (unless it's already part of the view), which will be removed from cubeGrid.fixedFacetValues.
      methodType action
      Parameters:
      facetId - facetId to add. Definition must have been provided at init time. See Identifier
      See Also:
    • addRowFacet

      public void addRowFacet(String facetId, Integer index)
      Add a row facet to the view at index "index". Handles the facet already being in the view (does a pivot).

      The facet being added should currently have a fixed facet value (unless it's already part of the view), which will be removed from cubeGrid.fixedFacetValues.
      methodType action
      Parameters:
      facetId - facetId to add. Definition must have been provided at init time. See Identifier
      index - index to add the facet at. 0 = outermost (default innermost)
      See Also:
    • anyCellSelected

      public Boolean anyCellSelected()
      Determine whether any cells are selected in this cubeGrid.
      methodType tester
      Returns:
      true if any cells are selected
      See Also:
    • autoSizeFacet

      public void autoSizeFacet(String facetId)
      auto-size the header facet horizontally
      Parameters:
      facetId - ID of facet to resize.
    • cellIsSelected

      public Boolean cellIsSelected(CellRecord cell)
      Determine whether the cell passed in is selected in this cubeGrid.
      methodType tester
      Parameters:
      cell - cell to test
      Returns:
      true if any cells are selected
      See Also:
    • closeFacet

      public void closeFacet(String facetId)
      Handler fired when facet is closed
      methodType handler
      Parameters:
      facetId - ID of facet that was closed
    • collapseField

      public Boolean collapseField(FacetValueMap facetValueMap)
      Collapses the specified field. No-ops if it's not showing, or it it's already collapsed.
      Parameters:
      facetValueMap - field specified as a facetValueMap
      Returns:
      whether specified field was actually collapsed
    • dataArrived

      public void dataArrived()
      Notification method fired when new data arrives from the server to be displayed in this CubeGrid. For example in response to the user openng a collapsed facet, or as a result of an initial fetch request for all data from a CubeGrid where facets is not set and there is no initial data. Only applies to databound CubeGrids.
    • deselectAll

      public void deselectAll()
      Deselect all cells and facetValues.
      methodType action
      See Also:
    • deselectAllCells

      public void deselectAllCells()
      Deselect all cells.
      See Also:
    • deselectAllFacetValues

      public void deselectAllFacetValues()
      Deselect all headers in a headerBar (specified by facetId) or all headerBars (if no facetId).
      methodType action
      See Also:
    • deselectAllFacetValues

      public void deselectAllFacetValues(String facetId)
      Deselect all headers in a headerBar (specified by facetId) or all headerBars (if no facetId).
      methodType action
      Parameters:
      facetId - ID of facet - if null, selects all headerbars' headers
      See Also:
    • deselectCells

      public void deselectCells(CellRecord[] cellList)
      Deselect cells that match a FacetValueMap. Also supports an explicit list of CellRecords or cell IDs.
      Parameters:
      cellList - cells to deselect
      See Also:
    • deselectCells

      public void deselectCells(FacetValueMap cellList)
      Deselect cells that match a FacetValueMap. Also supports an explicit list of CellRecords or cell IDs.
      Parameters:
      cellList - cells to deselect
      See Also:
    • deselectCells

      public void deselectCells(String... cellList)
      Deselect cells that match a FacetValueMap. Also supports an explicit list of CellRecords or cell IDs.
      Parameters:
      cellList - cells to deselect
      See Also:
    • deselectFacetValue

      public void deselectFacetValue(String facetId, String facetValueId)
      Deselect the header for a given facet value.
      methodType action
      Parameters:
      facetId - ID of facet
      facetValueId - ID of facetValue to select
      See Also:
    • expandField

      public Boolean expandField(FacetValueMap facetValueMap)
      Expands the specified field. No-ops if it's not showing, or if it's already expanded.
      Parameters:
      facetValueMap - field specified as a facetValueMap
      Returns:
      whether specified field was actually expanded
    • exportClientData

      public void exportClientData(Map settings)
      Exports this component's data with client-side formatters applied, so is suitable for direct display to users. This feature requires the Smart GWT server.

      The export format will combine the column facet value titles, generating a single row of column headers at the top with titles such as "All Years - Budget" if Time and Scenario were column facets. The row facet value titles for separate facets won't be combined, so that each row facet will have a separate column, with the facet titles at the top in the "column header" row, and the row facet value titles below their corresponding facet title. Data values each get their own row and column position.

      Parameters:
      settings - contains configuration settings for the export, including:
      • facetSeparatorString (String) - if specified, the separator to use in favor of exportFacetSeparatorString when combining titles from multiple facet values.
      See Also:
    • exportClientData

      public void exportClientData(Map settings, DSRequest requestProperties)
      See Also:
    • exportClientData

      public void exportClientData(Map settings, DSRequest requestProperties, RPCCallback callback)
      Exports this component's data with client-side formatters applied, so is suitable for direct display to users. This feature requires the Smart GWT server.

      The export format will combine the column facet value titles, generating a single row of column headers at the top with titles such as "All Years - Budget" if Time and Scenario were column facets. The row facet value titles for separate facets won't be combined, so that each row facet will have a separate column, with the facet titles at the top in the "column header" row, and the row facet value titles below their corresponding facet title. Data values each get their own row and column position.

      Parameters:
      settings - contains configuration settings for the export, including:
      • facetSeparatorString (String) - if specified, the separator to use in favor of exportFacetSeparatorString when combining titles from multiple facet values.
      requestProperties - Request properties for the export.
      callback - Optional callback. If you specify exportToClient: false in the request properties, this callback will fire after export completes. Otherwise the callback will fire right before the download request is made to the server.
      See Also:
    • addFacetAddedHandler

      public HandlerRegistration addFacetAddedHandler(FacetAddedHandler handler)
      Add a facetAdded handler.

      Notification fired when a new facet is added.

      Specified by:
      addFacetAddedHandler in interface HasFacetAddedHandlers
      Parameters:
      handler - the facetAdded handler
      Returns:
      HandlerRegistration used to remove this handler
    • addFacetContextClickHandler

      public HandlerRegistration addFacetContextClickHandler(FacetContextClickHandler handler)
      Add a facetContextClick handler.

      StringMethod handler fired when the user right clicks on a facet label.

      Specified by:
      addFacetContextClickHandler in interface HasFacetContextClickHandlers
      Parameters:
      handler - the facetContextClick handler
      Returns:
      HandlerRegistration used to remove this handler
    • facetHasSelection

      public Boolean facetHasSelection(String facetId)
      Return whether any facet value for this facet is selected in headers. If no facetId passed, return whether any facet has a selection.
      methodType tester
      Parameters:
      facetId - Id for facet to test
      Returns:
      true if any facet value in this header is selected
      See Also:
    • addFacetLabelClickHandler

      public HandlerRegistration addFacetLabelClickHandler(FacetLabelClickHandler handler)
      Add a facetLabelClick handler.

      Method handler fired when the user clicks on a facet label.

      Specified by:
      addFacetLabelClickHandler in interface HasFacetLabelClickHandlers
      Parameters:
      handler - the facetLabelClick handler
      Returns:
      HandlerRegistration used to remove this handler
    • addFacetMovedHandler

      public HandlerRegistration addFacetMovedHandler(FacetMovedHandler handler)
      Add a facetMoved handler.

      Notification fired when a facet is moved.

      Specified by:
      addFacetMovedHandler in interface HasFacetMovedHandlers
      Parameters:
      handler - the facetMoved handler
      Returns:
      HandlerRegistration used to remove this handler
    • addFacetRemovedHandler

      public HandlerRegistration addFacetRemovedHandler(FacetRemovedHandler handler)
      Add a facetRemoved handler.

      Notification fired when a facet is removed.

      Specified by:
      addFacetRemovedHandler in interface HasFacetRemovedHandlers
      Parameters:
      handler - the facetRemoved handler
      Returns:
      HandlerRegistration used to remove this handler
    • addFacetValueContextClickHandler

      public HandlerRegistration addFacetValueContextClickHandler(FacetValueContextClickHandler handler)
      Add a facetValueContextClick handler.

      StringMethod handler fired when context click occurs over a facetValue button in a header.

      Specified by:
      addFacetValueContextClickHandler in interface HasFacetValueContextClickHandlers
      Parameters:
      handler - the facetValueContextClick handler
      Returns:
      HandlerRegistration used to remove this handler
    • addFacetValueSelectionChangedHandler

      public HandlerRegistration addFacetValueSelectionChangedHandler(FacetValueSelectionChangedHandler handler)
      Add a facetValueSelectionChanged handler.

      Handler/Notification function for facetValue selection change (no default implementation).

      Specified by:
      addFacetValueSelectionChangedHandler in interface HasFacetValueSelectionChangedHandlers
      Parameters:
      handler - the facetValueSelectionChanged handler
      Returns:
      HandlerRegistration used to remove this handler
    • addFixedFacetValueChangedHandler

      public HandlerRegistration addFixedFacetValueChangedHandler(FixedFacetValueChangedHandler handler)
      Add a fixedFacetValueChanged handler.

      Notification fired when a fixed facet value is set for some facet.

      Specified by:
      addFixedFacetValueChangedHandler in interface HasFixedFacetValueChangedHandlers
      Parameters:
      handler - the fixedFacetValueChanged handler
      Returns:
      HandlerRegistration used to remove this handler
    • getCellColumn

      public int getCellColumn(CellRecord cellRecord)
      Given a record in this grid, this method returns the colNum in which the record is displayed.
      Parameters:
      cellRecord - record to find coordinates for
      Returns:
      Column number for the record. Returns -1 if the record is not found.
    • getCellFacetValues

      public FacetValueMap getCellFacetValues(int rowNum, int colNum)
      Given a cell coordinate within this CubeGrid return a FacetValueMap indicating the facet values for the cell.
      Parameters:
      rowNum - row index of the cell
      colNum - column index of the cell
      Returns:
      facet values for the specified cell. Returns null if the specified cell is not present in the grid.
    • getCellRecord

      public ListGridRecord getCellRecord(int rowNum, int colNum)
      Return the pointer to a particular record by record and column number.
      Parameters:
      rowNum - row index of record to return.
      colNum - column index of record to return.
      Returns:
      Record object for the row.
      See Also:
    • getCellRow

      public int getCellRow(CellRecord cellRecord)
      Given a record in this grid, this method returns the rowNum on which the record is displayed.
      Parameters:
      cellRecord - record to find coordinates for
      Returns:
      Row number for the record. Returns -1 if the record is not found.
    • getColumnFacetValues

      public FacetValueMap getColumnFacetValues(int colNum)
      Return a FacetValueMap indicating the facet values for a specific column in the grid.
      Parameters:
      colNum - index of the column
      Returns:
      facet values for the specified column. Returns null if the specified column is not present in the grid.
    • getColumnHeaderFacetValues

      public FacetValueMap getColumnHeaderFacetValues(int colNum, int level)
      Return a FacetValueMap of the facet values for the column field at the specified level containing the requested column number. Note that outer column fields may span several grid columns.
      Parameters:
      colNum - 0-based index into the grid columns (and inner column header fields)
      level - target header level; 0 represents the outer column header
      Returns:
      facet values for the targeted column header field
    • getDefaultFacetValueContextItems

      public MenuItem[] getDefaultFacetValueContextItems(FacetValueMap facetValues)
      Returns a default set of items, which can be updated/modified, and then assigned to facetValueContextItems to be used in the context menu of the appropriate header button.
      Parameters:
      facetValues - FacetValueMap for the appropriate header button
      Returns:
      Return standard context menu items for these facet values.
    • getEditValue

      public Object getEditValue(int rowNum, int colNum)
      Returns the current temporary locally stored edit value for a cell being edited. Note this is the valueProperty that will be saved for the cell in question.
      Overrides:
      getEditValue in class ListGrid
      Parameters:
      rowNum - index of the row for which the editValue should be returned
      colNum - index of the column for which value should be returned
      Returns:
      edit value for the cell
      See Also:
    • getEventColumn

      public int getEventColumn()
      Returns the column number of the provided X-coordinate, or the most recent mouse event if an X-coordinate is not provided.
      Overrides:
      getEventColumn in class ListGrid
      Returns:
      column number, or -2 if beyond last drawn column
      See Also:
    • getEventColumn

      public int getEventColumn(Integer x)
      Returns the column number of the provided X-coordinate, or the most recent mouse event if an X-coordinate is not provided.
      Overrides:
      getEventColumn in class ListGrid
      Parameters:
      x - X-coordinate relative to the left edge of the content to obtain the column number for. If not provided, then Canvas.getOffsetX() will be used.
      Returns:
      column number, or -2 if beyond last drawn column
      See Also:
    • getEventRow

      public int getEventRow()
      Returns the row number of the provided Y-coordinate, or the most recent mouse event if a Y-coordinate is not provided.
      Overrides:
      getEventRow in class ListGrid
      Returns:
      row number, or -2 if beyond last drawn row
      See Also:
    • getEventRow

      public int getEventRow(Integer y)
      Returns the row number of the provided Y-coordinate, or the most recent mouse event if a Y-coordinate is not provided.
      Overrides:
      getEventRow in class ListGrid
      Parameters:
      y - Y-coordinate relative to the top edge of the content to obtain the row number for. If not provided, then Canvas.getOffsetY() will be used.
      Returns:
      row number, or -2 if beyond last drawn row
      See Also:
    • getFacet

      public Facet getFacet(String facetId)
      Get a facet definition by facetId. Constant time.
      Parameters:
      facetId - the id of the facet to retrieve
      Returns:
      the Facet if found, or null
      See Also:
    • getFacetsHavingSelection

      public String[] getFacetsHavingSelection()
      Return the list of facets that have any selection in their headers.
      methodType getter
      Returns:
      list of facets that have any selection in their headers
      See Also:
    • getFacetValue

      public FacetValue getFacetValue(String facetId, String facetValueId)
      Get a facet value definition by facetId and facetValueId. Constant time.
      Parameters:
      facetId - the id of the facet to retrieve
      facetValueId - the id of the facet value to retrieve
      Returns:
      the FacetValue if found, or null
      See Also:
    • getFacetValuesColumn

      public int getFacetValuesColumn(FacetValueMap facetValues)
      Get the index of the first column in the grid that matches the specified FacetValueMap.

      The facetValues passed in should contain values for at least one column facet. It may contain properties other than column facets, which will be ignored. If values are sparse (values not specified for every column facet), the first column matching the specified facet values will be returned.

      Parameters:
      facetValues - facet values to find
      Returns:
      index of first column in the grid that matches the facet values passed in, or -1 if not found
    • getFacetValuesRow

      public int getFacetValuesRow(FacetValueMap facetValues)
      Get the index of the first row in the grid that matches the specified FacetValueMap.

      The facetValues passed in should contain values for at least one row facet. It may contain properties other than row facets, which will be ignored. If values are sparse (values not specified for every row facet), the first row matching the specified facet values will be returned.

      Parameters:
      facetValues - facet values to find
      Returns:
      index of first row in the grid that matches the facet values passed in, or -1 if not found
    • getRowFacetValues

      public FacetValueMap getRowFacetValues(int rowNum)
      Return a FacetValueMap indicating the facet values for a specific row in the grid.
      Parameters:
      rowNum - index of the row
      Returns:
      facet values for the specified row. Returns null if the specified row is not present in the grid.
    • getRowHeaderFacetValues

      public FacetValueMap getRowHeaderFacetValues(int rowNum, int level)
      Return a FacetValueMap of the facet values for the row field at the specified level containing the requested row number. Note that outer row fields may span several grid rows.
      Parameters:
      rowNum - 0-based index into the grid rows (and inner row header fields)
      level - target header level; 0 represents the outer row header
      Returns:
      facet values for the targeted row header field
    • getSelectedCellIds

      public String[] getSelectedCellIds()
      Returns an array of the IDs of all selected cell records.
      methodType getter
      Returns:
      array of the selected cell IDs
      See Also:
    • getSelectedCells

      public CellRecord[] getSelectedCells()
      Returns an array of the selected cell records.
      methodType getter
      Returns:
      array of the selected cell records
      See Also:
    • getSelectedFacetValues

      public FacetValueMap[] getSelectedFacetValues()
      Returns an array of facetValues objects indicating the headers that are selected in the headerBar for this facet. If facetId is not passed, returns selection for all facets.
      Returns:
      selected facetValues
      See Also:
    • getSelectedFacetValues

      public FacetValueMap[] getSelectedFacetValues(String facetId)
      Returns an array of facetValues objects indicating the headers that are selected in the headerBar for this facet. If facetId is not passed, returns selection for all facets.
      Parameters:
      facetId - id for facet for which we are getting selected facetValues
      Returns:
      selected facetValues
      See Also:
    • getViewState

      public String getViewState()
      Note: This is a ListGrid feature which is inapplicable on this class.
      Overrides:
      getViewState in class ListGrid
      Returns:
      current view state for the grid. See ListGridViewState
      See Also:
    • hasChanges

      public Boolean hasChanges()
      Determines whether any cells in this cubeGrid have been edited but not yet saved to the underlying data set. Note that for asynchronous saves, this method will return false if the current edit values match any submitted (but not yet saved) values. This behavior can be turned off with the ignorePendingValues parameter.
      Overrides:
      hasChanges in class ListGrid
      Returns:
      true if any record in the grid has been edited but not yet saved
      See Also:
    • hasChanges

      public Boolean hasChanges(Boolean ignorePendingValues)
      Determines whether any cells in this cubeGrid have been edited but not yet saved to the underlying data set. Note that for asynchronous saves, this method will return false if the current edit values match any submitted (but not yet saved) values. This behavior can be turned off with the ignorePendingValues parameter.
      Overrides:
      hasChanges in class ListGrid
      Parameters:
      ignorePendingValues - If true, this method will compare the current edit values against the underlying records in the dataset, not taking pending edit values into account
      Returns:
      true if any record in the grid has been edited but not yet saved
      See Also:
    • hideFacetValues

      public boolean hideFacetValues(FacetValueMap facetValueMap)
      Hides the specified field if it is currently visible. No-ops if it's already hidden.
      Parameters:
      facetValueMap - field specified as a facetValueMap
      Returns:
      whether specified field was actually hidden
    • hiliteFacetValue

      public Boolean hiliteFacetValue(String facetID, String facetValueID, String hiliteID)
      Apply a hilite to all cells corresponding to a facetValue.
      methodType action
      Parameters:
      facetID - facet ID
      facetValueID - facet value ID
      hiliteID - hilite ID
      Returns:
      true if the cells were successfully hilited.
      See Also:
    • isFieldOpen

      public Boolean isFieldOpen(FacetValueMap facetValueMap)
      Return whether the specified CubeGrid field is open, taking into account both collapsing and minimizing.

      Note that if you don't already have a FacetValueMap to the field in question, you can get one by calling getRowHeaderFacetValues() or getColumnHeaderFacetValues(),

      You can also construct a FacetValueMap on your own by using the Facet.ids from rowFacets or columnFacets together with the FacetValue.ids of the Facet.values for the row or column that you want to query. Given a Facet.id, you can use getFacet() to obtain the correponding Facet.

      Parameters:
      facetValueMap - field specified as a facetValueMap
      Returns:
      whether field is open
    • loadAllRecords

      public Boolean loadAllRecords()
      This method is not currently supported for this grid-type. See ListGrid.loadAllRecords() for more information.
      Overrides:
      loadAllRecords in class ListGrid
      Returns:
      true if a fetch was made or was not needed - false otherwise
    • loadAllRecords

      public Boolean loadAllRecords(Integer maxRecords)
      Overrides:
      loadAllRecords in class ListGrid
      See Also:
    • loadAllRecords

      public Boolean loadAllRecords(Integer maxRecords, DSCallback callback)
      This method is not currently supported for this grid-type. See ListGrid.loadAllRecords() for more information.
      Overrides:
      loadAllRecords in class ListGrid
      Parameters:
      maxRecords - optional maximum record count - if passed, no fetch takes place if maxRecords is below the known length of the data
      callback - callback to fire if a fetch is issued - if all data was already loaded, the callback is fired with no parameters
      Returns:
      true if a fetch was made or was not needed - false otherwise
    • recordHasChanges

      public Boolean recordHasChanges(int rowNum, int colNum)
      If this cubeGrid can be edited, this method will return true if the record passed in has been edited, but the edits have not yet been saved to the CubeGrid's data object.

      Note that if this grid is bound to a dataSource, and an asynchronous save has been submitted, this method will compare the local edit values against the submitted values by default, returning false (no changes), if they match. This is useful for detecting whether the user is actively editing values and hasn't yet committed them.

      The ignorePendingValues parameter may be used by developers who want to ignore this case and simply compare edit values against the record in the local data set.

      Parameters:
      rowNum - row index of record to check for changes
      colNum - column index of the record to check for changes
      Returns:
      true if the record has been edited but not yet saved
      See Also:
    • recordHasChanges

      public Boolean recordHasChanges(int rowNum, int colNum, Boolean ignorePendingValues)
      If this cubeGrid can be edited, this method will return true if the record passed in has been edited, but the edits have not yet been saved to the CubeGrid's data object.

      Note that if this grid is bound to a dataSource, and an asynchronous save has been submitted, this method will compare the local edit values against the submitted values by default, returning false (no changes), if they match. This is useful for detecting whether the user is actively editing values and hasn't yet committed them.

      The ignorePendingValues parameter may be used by developers who want to ignore this case and simply compare edit values against the record in the local data set.

      Parameters:
      rowNum - row index of record to check for changes
      colNum - column index of the record to check for changes
      ignorePendingValues - If true, this method will compare the current edit values against the underlying records in the dataset, not taking pending edit values into account
      Returns:
      true if the record has been edited but not yet saved
      See Also:
    • removeFacet

      public void removeFacet(String facetId)
      Remove a facet from the current view, using a fixed value from that facet. For example, remove the "months" facet from the view, collapsing to just January, or total for all months.
      Parameters:
      facetId - facetId to remove. See Identifier
      See Also:
    • removeFacet

      public void removeFacet(String facetId, String fixedFacetValueId)
      Remove a facet from the current view, using a fixed value from that facet. For example, remove the "months" facet from the view, collapsing to just January, or total for all months.
      Parameters:
      facetId - facetId to remove. See Identifier
      fixedFacetValueId - New fixed value for the facet, to be added to fixedFacetValues. Default is the rollup value for the facet. See Identifier
      See Also:
    • resizeFacetValue

      public void resizeFacetValue(String facetValueId, int newWidth)
      Resizes all columns for the provided facetValueId, which must be a facetValueId from the innermost column facet.
      Parameters:
      facetValueId - facetValueId of columns to be resized. See Identifier
      newWidth - column's new width
    • selectAllCells

      public void selectAllCells()
      Select all cells.
      See Also:
    • selectAllFacetValues

      public void selectAllFacetValues()
      Select/deselect all headers in a headerBar (specified by facetId) or all headerBars (if no facetId).
      methodType action
      See Also:
    • selectAllFacetValues

      public void selectAllFacetValues(String facetId)
      See Also:
    • selectAllFacetValues

      public void selectAllFacetValues(String facetId, Boolean newState)
      Select/deselect all headers in a headerBar (specified by facetId) or all headerBars (if no facetId).
      methodType action
      Parameters:
      facetId - ID of facet - if null, selects all headerbars' headers
      newState - new selection state - if null defaults to true
      See Also:
    • selectCells

      public void selectCells(CellRecord[] cellList)
      Select/deselect cells that match a FacetValueMap. Also supports an explicit list of CellRecords or cell IDs.
      Parameters:
      cellList - cells to select
      See Also:
    • selectCells

      public void selectCells(FacetValueMap cellList)
      Select/deselect cells that match a FacetValueMap. Also supports an explicit list of CellRecords or cell IDs.
      Parameters:
      cellList - cells to select
      See Also:
    • selectCells

      public void selectCells(String... cellList)
      Select/deselect cells that match a FacetValueMap. Also supports an explicit list of CellRecords or cell IDs.
      Parameters:
      cellList - cells to select
      See Also:
    • selectCells

      public void selectCells(CellRecord[] cellList, boolean newState)
      Select/deselect cells that match a FacetValueMap. Also supports an explicit list of CellRecords or cell IDs.
      Parameters:
      cellList - cells to select
      newState - new selection state (if null, defaults to true)
      See Also:
    • selectFacetValue

      public void selectFacetValue(String facetId, String facetValueId)
      Select/deselect the header for a given facet value.
      methodType action
      Parameters:
      facetId - ID of facet
      facetValueId - ID of facetValue to select
      See Also:
    • selectFacetValue

      public void selectFacetValue(String facetId, String facetValueId, Boolean newState)
      Select/deselect the header for a given facet value.
      methodType action
      Parameters:
      facetId - ID of facet
      facetValueId - ID of facetValue to select
      newState - new selection state - if null defaults to true
      See Also:
    • setEditValue

      public void setEditValue(int rowNum, int colNum, Object value)
      Set the edit value for some cell in the cube grid.

      Note that cubeGrids display one record per cell - the value passed in should be the desired edit value for the valueProperty of the record.

      Overrides:
      setEditValue in class ListGrid
      Parameters:
      rowNum - Row number
      colNum - Column number
      value - New value for the record
      See Also:
    • setFacetTitle

      public void setFacetTitle(String facetId, String newTitle)
      Set the title of a facet (appears in facet label).
      Parameters:
      facetId - facet to update. See Identifier
      newTitle - title for the facet
    • setFacetValueTitle

      public void setFacetValueTitle(String facetId, String facetValueId, String newTitle)
      Set the title for a facet value.
      Parameters:
      facetId - facet to update. See Identifier
      facetValueId - facetValue to update. See Identifier
      newTitle - title for the facet
    • setFacetValueTitleAlign

      public void setFacetValueTitleAlign(String facetId, String facetValueId, Alignment align)
      Set the align for the title for a facet value.
      Parameters:
      facetId - facet to update. See Identifier
      facetValueId - facetValue to update. See Identifier
      align - new alignment for facet value title
    • setFixedFacetValue

      public void setFixedFacetValue(String facetId, String fixedFacetValueId)
      Modify fixedFacetValues for this cubeGrid.
      Parameters:
      facetId - facetId. See Identifier
      fixedFacetValueId - New fixed value for the facet, to be added to fixedFacetValues. Default is the rollup value for the facet. See Identifier
    • showFacetValues

      public boolean showFacetValues(FacetValueMap facetValueMap)
      Shows the specified field if it was previsouly hidden. No-ops if it's already showing.
      Parameters:
      facetValueMap - field specified as a facetValueMap
      Returns:
      whether specified field was actually shown
    • addSortByFacetIdHandler

      public HandlerRegistration addSortByFacetIdHandler(SortByFacetIdHandler handler)
      Add a sortByFacetId handler.

      Called when a sort control is clicked on a FacetHeader. Does nothing by default.

      Specified by:
      addSortByFacetIdHandler in interface HasSortByFacetIdHandlers
      Parameters:
      handler - the sortByFacetId handler
      Returns:
      HandlerRegistration used to remove this handler
    • addSortByFacetValuesHandler

      public HandlerRegistration addSortByFacetValuesHandler(SortByFacetValuesHandler handler)
      Add a sortByFacetValues handler.

      Called when a sort control is clicked on a FacetValueHeader. Does nothing by default.

      Specified by:
      addSortByFacetValuesHandler in interface HasSortByFacetValuesHandlers
      Parameters:
      handler - the sortByFacetValues handler
      Returns:
      HandlerRegistration used to remove this handler
    • toggleFieldOpenState

      public Boolean toggleFieldOpenState(FacetValueMap facetValueMap)
      Toggles the open state of the specified field. No-ops if it's not showing.
      Parameters:
      facetValueMap - field specified as a facetValueMap
      Returns:
      whether specified field's open state was toggled
    • setDefaultProperties

      public static void setDefaultProperties(CubeGrid cubeGridProperties)
      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
      cubeGridProperties - properties that should be used as new defaults when instances of this class are created
      See Also:
    • hiliteCell

      public Boolean hiliteCell(int rowNum, int colNum, String hiliteID)
      Apply a hilite to a specific cell. Note: can be called either as hiliteCell(cellObject, hiliteID) or hiliteCell(row, column, hiliteID)
      methodType action
      Parameters:
      row - of cell to hilite
      column - of cell to hilite
      hilite - id
      Returns:
      true if the cell was successfully hilited.
      See Also:
    • deselectCell

      public void deselectCell(String cell)
      Deselect a single cell - accepts cell ID.
      Parameters:
      cell - cell to deselect
    • deselectCell

      public void deselectCell(CellRecord cell)
      Deselect a single cell - accepts cellRecord.
      Parameters:
      cell - cell to deselect
    • selectCell

      public void selectCell(String ID)
      Select a single cell - accepts cell ID or cell record.
      methodType action
      Parameters:
      cell - cell to select
    • selectCell

      public void selectCell(Record cell)
      Select a single cell - accepts cell ID or cell record.
      methodType action
      Parameters:
      cell - cell to select
    • getCellCoordinates

      public int[] getCellCoordinates(CellRecord cellRecord)
      Given a record in this grid, this method returns the coordinates of the cell in which the record is displayed as a 2 element array.
      Parameters:
      cellRecord - record to find coordinates for
      Returns:
      2 element array containing [rowNum,colNum] for the cell, or null if the record is not found.
    • getEditedCell

      public Object getEditedCell(int rowNum, int colNum)
      Returns the current value of a cell. If the cell has an outstanding edit value, this will be returned, otherwise the underlying value of the record will be returned.
      Overrides:
      getEditedCell in class ListGrid
      Parameters:
      rowNum - rowNum of the record being edited
      colNum - colNum of the cell
      Returns:
      Current edit value, or underlying value for the cell.
      See Also:
    • getEditedCell

      public Object getEditedCell(Record record)
      Returns the current value of a cell. If the cell has an outstanding edit value, this will be returned, otherwise the underlying value of the record will be returned.
      Parameters:
      record - rowNum of the record being edited, or an Object containing values for all the record's primary keys
      colNum - colNum of the cell. Only required if the first parameter is a rowNum
      Returns:
      Current edit value, or underlying value for the cell.
      See Also:
    • getEditedRecord

      public CellRecord getEditedRecord(int rowNum, int colNum)
      Returns the combination of unsaved edits (if any) and original values (if any) for a given cell being edited.

      The returned value is never null, and can be freely modified.

      Parameters:
      rowNum - of the record being edited
      colNum - colNum of the record being edited
      Returns:
      A copy of the record with unsaved edits included
      See Also:
    • getEditedRecord

      public CellRecord getEditedRecord(Record baseRecord)
      Returns the combination of unsaved edits (if any) and original values (if any) for a given cell being edited.

      The returned value is never null, and can be freely modified.

      Parameters:
      record - being edited
      Returns:
      A copy of the record with unsaved edits included
      See Also:
    • setEnableCharting

      public void setEnableCharting(Boolean enableCharting)
      If set to true, context menu items will be included on the cells and headers providing the user with an option to create a chart of the cubeGrid's data set. See chartData for more information.
      Parameters:
      enableCharting - enableCharting Default value is false
    • getEnableCharting

      public Boolean getEnableCharting()
      If set to true, context menu items will be included on the cells and headers providing the user with an option to create a chart of the cubeGrid's data set. See chartData for more information.
      Returns:
      Boolean
    • setFacetValueHoverCustomizer

      public void setFacetValueHoverCustomizer(FacetValueHoverCustomizer hoverCustomizer)
      Set the customizer for the HTML to be shown in hovers over facet values.
      Parameters:
      hoverCustomizer - the hover customizer
    • analyticsLoaded

      public static boolean analyticsLoaded()
      Static method indicating whether the optional Analytics module is loaded for the page. The CubeGrid component requires this module.
      Returns:
      true if the Analytics module is present
    • makeChart

      public FacetChart makeChart(FacetValueMap fixedFacetValues, String[] variableFacets, FacetChart chartProperties)
      Chart the portion of the dataset indicated by fixedFacetValues, for all values of the variableFacets.

      One, two or more variableFacets may be passed. Two variable facets for a column chart will result in stacking or clustering. Three facets or more may be supported by some chartTypes or charting engines.

      Parameters:
      fixedFacetValues - (FacetValueMap) set of facet values to hold constant. Pass null to chart the entire dataset.
      variableFacets - (Array of FacetIds) set of facets to be charted
      chartProperties - (FacetChart properties) properties to pass through to the created FacetChart
      Returns:
      (FacetChart) created Chart instance
    • setViewState

      public CubeGrid setViewState(String viewState)
      Note: This is a ListGrid feature which is inapplicable on this class.
      Overrides:
      setViewState in class ListGrid
      Parameters:
      viewState - Object describing the desired view state for the grid.
      Returns:
      CubeGrid instance, for chaining setter calls See ListGridViewState
      See Also:
    • setLogicalStructure

      public LogicalStructureObject setLogicalStructure(CubeGridLogicalStructure s)
      Setter implementing the LogicalStructure interface, which supports Eclipse's logical structure debugging facility.
    • getLogicalStructure

      public LogicalStructureObject getLogicalStructure()
      Getter implementing the LogicalStructure interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
      getLogicalStructure in interface LogicalStructure
      Overrides:
      getLogicalStructure in class ListGrid