Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-25700

Starting or stopping the edition of a Live Data cell re-renders every cell

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Major
    • 18.10.0-rc-1
    • 17.10.0
    • Live Data
    • None
    • Unknown

    Description

      Each Live Data cell decides whether it can be edited by calling the edit bus's isEditable(), which iterates over the edit state of every cell. All cells therefore depend on the whole edit state: when one cell starts or stops being edited, every cell and its tooltip re-render, twice per edit. Each cell also registers an edit bus listener that walks the edit states again on every event.

      Proposal

      • Keep a single reactive "a cell is being edited" flag in EditBusService, updated on the start, cancel and save events, and read by isEditable().
      • Remove the per-cell edit bus listeners, which become useless.

      This also removes the listener leak on master (see the related issue).

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mleduc Manuel Leduc
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: