Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-3048

[DMN Designer] CellEditorControl needs to issue a new instance per use


    • 2019 Week 50-52 (from Dec 9), 2020 Week 01-03 (from Dec 30)
    • 5
      1. Import the sample Traffic_Violation project
      2. Open the only dmn file present
      3. Expand the amount column as shown in the attached picture
      4. Try to invoke any context menu now for adding rows/columns
    • NEW
    • NEW

      A Popover used to edit a cell or column header (or any other DOM-based editor for that matter) disappears following a change in the widget that causes a Layer.draw() if the grid is sufficiently wide that there is a column not visible on screen.

      All cells/columns that use CellEditorControls (containing, for example, the Popover) share a single instance from CellEditorControl and hence although the User makes a change in a visible column the invisible column (scrolled off screen) has its DOM resources destroyed that is the same instance as that for the visible column.

      See https://github.com/kiegroup/appformer/blob/master/uberfire-extensions/uberfire-wires/uberfire-wires-core/uberfire-wires-core-grids/src/main/java/org/uberfire/ext/wires/core/grids/client/widget/grid/impl/BaseGridWidget.java#L341. If a column is not in the body or floating columns collection its DOM resources are destroyed.

      I probably need to ensure different instances of CellEditorControl are created for each column/cell where we currently share the same instance. Also check for destruction of DOM elements in Document when grids/columns etc are destroyed.

      Acceptance criteria

      1. Create a DMN model
      2. Add a Decision
      3. Set its expression to a Decision Table
      4. Add multiple Input and Output columns so that the table is wider than the visible screen space (i.e. some columns are not rendered)
      5. Click on the header of a visible column
      6. The Name/Data-type popup should appear
      7. Repeat for expression type of Relation

            manstis@redhat.com Michael Anstis
            manstis@redhat.com Michael Anstis
            Jozef Marko Jozef Marko (Inactive)
            0 Vote for this issue
            1 Start watching this issue