Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-13950

DMN table on decision instance view shows never-ending loading spinner

    XMLWordPrintable

Details

    • Bug Report
    • Status: Closed
    • L3 - Default
    • Resolution: Fixed
    • 7.16.0-alpha5
    • 7.16.0
    • cockpit, dmn-ui, webapp

    Description

      Environment (Required on creation):

      • Tomcat + H2
      • 7.16.0-alpha5-ee
      • Chrome 93.0.4577.82 on macOS

      Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):

      • DMN table on decision instance view shows never-ending loading spinner
      • An error is shown in the browser console
        TypeError: Cannot read properties of undefined (reading 'appendChild')
      • See the screenshot below

      Steps to reproduce (Required on creation):

      1. Deploy a DMN decision with a DMN table to the engine
      2. Evaluate the decision
      3. In Cockpit, open the decision instance view

      Observed Behavior (Required on creation):

      • A never-ending loading spinner overlays the DMN Table.
      • An error is shown in the browser console.

      Expected behavior (Required on creation):

      • The loading spinner is hidden as soon as the DMN Table has been loaded.
      • No error is shown in the browser console.

      Root Cause (Required on prioritization):

      • The table is already rendered before the decision definition request returned and $scope.decisionDefinition
      • The decision-table directive is rendered with an empty table property
      • In the cam-widget-dmn-viewer directive we assume that a diagram is a DRD if $scope.table is falsy
        • This leads to calling $scope.initializeTablePlugins() even though the a DMN table diagram does not exist

      Solution Ideas (Optional):

      The cam-widget-dmn-viewer already registers a watcher if the table name is empty or undefined to open the diagram again if the table name changes [1]. However, we also need to skip calling the onLoad callback when the table name is empty.

      Hints (optional):

      [1] https://github.com/camunda/camunda-bpm-platform/blob/master/webapps/camunda-commons-ui/lib/widgets/dmn-viewer/cam-widget-dmn-viewer.js#L272-L296

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          1. image-2021-09-20-17-26-28-485.png
            172 kB
            Tassilo Weidner
          2. Screenshot 2021-09-27 at 19.23.01.png
            729 kB
            Hariharan Parasuraman

          Issue Links

            Activity

              People

                michael.schoettes Michael Schoettes
                tassilo.weidner Tassilo Weidner
                Tassilo Weidner Tassilo Weidner
                Martin Stamm Martin Stamm
                Michael Schoettes Michael Schoettes
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Salesforce