Class DataCollectionNodeMatrixValueComponent

All Implemented Interfaces:
Serializable, overit.geocall.marks.MethodExposer, overit.geocall.marks.NameExposer, Arrangeable, Badgeable, Hideable, Identified, Tool, overit.geocall.ux.configurability.UIConfigurable, overit.geocall.ux.edm.ModelConfigurable

@Component public class DataCollectionNodeMatrixValueComponent extends DataCollectionNodeTypeValueComponent<DataCollectionNodeMatrix>
Component for handling matrix-type data in data collection forms. This class extends DataCollectionNodeTypeValueComponent to provide specialized functionality for displaying and interacting with matrix data.

The component displays data in a tabular format with configurable columns and rows, allowing users to select specific rows.

Since:
20.0
See Also:
  • Field Details

  • Constructor Details

    • DataCollectionNodeMatrixValueComponent

      public DataCollectionNodeMatrixValueComponent()
  • Method Details

    • getNamesToBeIndexed

      protected List<String> getNamesToBeIndexed()
      Returns a list of component names that need to be indexed to ensure unique identifiers within the form.
      Specified by:
      getNamesToBeIndexed in class DataCollectionNodeTypeValueComponent<DataCollectionNodeMatrix>
      Returns:
      List of component names requiring indexing
    • getButtonNames

      protected List<String> getButtonNames()
      Returns a list of button event names used by this component.
      Specified by:
      getButtonNames in class DataCollectionNodeTypeValueComponent<DataCollectionNodeMatrix>
      Returns:
      List of button names for event handling
    • initComponents

      protected void initComponents()
      Initializes the UI components required for the matrix display. This method is called during component setup.
      Overrides:
      initComponents in class DataCollectionNodeTypeValueComponent<DataCollectionNodeMatrix>
    • showValue

      protected void showValue()
      Displays the matrix data in the UI. This method initializes the table view, loads column headers, and populates the rows with data.
      Specified by:
      showValue in class DataCollectionNodeTypeValueComponent<DataCollectionNodeMatrix>
    • initMatrixDBView

      protected void initMatrixDBView()
      Initializes the database view for the matrix table. Creates and configures the table structure with appropriate columns.
    • loadHeader

      protected void loadHeader()
      Loads the column headers with descriptions. Sets visibility and labels for each column based on the matrix configuration.
    • loadInputFilters

      protected void loadInputFilters()
    • loadInputOptions

      protected DBView loadInputOptions(Long numColumn)
    • loadRows

      protected void loadRows()
      Populates the matrix table with row data. Each row contains cells corresponding to the matrix columns.
    • updateValue

      protected void updateValue()
      Updates the component value. This implementation does not require updates as the matrix is read-only.
      Specified by:
      updateValue in class DataCollectionNodeTypeValueComponent<DataCollectionNodeMatrix>
    • onSelectMatrixRow

      public boolean onSelectMatrixRow(UIMessage uim)
      Handles the event when a matrix row is selected. Updates the selected row in the data model.
      Parameters:
      uim - The UI message containing event parameters
      Returns:
      true to indicate the event was handled
    • onSelectMatrixNone

      public boolean onSelectMatrixNone(UIMessage uim)
      Handles the event when matrix selection is cleared. Removes any selected row from the data model.
      Parameters:
      uim - The UI message containing event parameters
      Returns:
      true to indicate the event was handled
    • applyNodeChanges

      protected void applyNodeChanges(UIMessage uim)
      Propagates node changes to the parent data collection sheet component.
      Parameters:
      uim - The UI message
    • filterMatrix

      public void filterMatrix()