Uploaded image for project: 'OpenShift Console'
  1. OpenShift Console
  2. CONSOLE-4617

Dynamic CR Details Page Fields based on additionalPrinterColumns

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • None
    • OCP Console - Sprint 274

      Description:

      Building on the previous work to fetch and interpret additionalPrinterColumns for the CRD list page, this story extends that functionality to the Custom Resource (CR) details page. Instead of relying solely on generic or static field rendering, the CR details page will now leverage the additionalPrinterColumns defined in the CRD's spec to display specific, user-defined fields from the CR instance.

      This will allow administrators and developers to surface important operational data, statuses, or unique identifiers directly on the CR details view, making it more informative at a glance. If additionalPrinterColumns are not defined for a particular CRD, or if the jsonPaths specified are not found on the CR, the console will continue to display its standard default fields and sections for the CR.

      AC:

      • The CR details page dynamically identifies and displays fields based on the additionalPrinterColumns from the associated CRD's spec. For fetching the schema use the new /api/console/crd-schema/ endpoint.
      • Fields are correctly extracted from the CR object using the jsonPath specified in additionalPrinterColumns
      • If additionalPrinterColumns are not defined for the CRD, or if a specified jsonPath does not yield a value, the CR details page defaults to displaying its standard set of fields.
      • Add integration tests for CDRs with and without additionalPrinterColumns

      Technical Notes:

      • Frontend:
        • Consume the additionalPrinterColumns information, which should now be accessible from the CRD data fetched in the previous story.
        • Implement logic to iterate through additionalPrinterColumns for the relevant CRD.
        • For each column, use the provided jsonPath to extract the corresponding value from the CR object.
        • Select appropriate PatternFly components to render these extracted values, taking into account the type of the column (e.g., for boolean values, render a checkmark or cross icon).
        • Define a clear fallback mechanism for when additionalPrinterColumns are not present or when jsonPaths fail to resolve.

       

              rhn-engineering-rhamilto Robb Hamilton
              jhadvig@redhat.com Jakub Hadvig
              None
              None
              YaDan Pei YaDan Pei
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: