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

Async placeholders are not activated on content that is temporarily hidden

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 14.4.1
    • None
    • Unknown

    Description

      See JIRA-45 for a way to reproduce the problem.

      async.js is looking to activate async placeholders, that were dynamically added after page load, using this selector .xwiki-async:visible when a DOM mutation occurs. There are two problems with this:

      • it's inconsistent with the behavior on page load: on page load hidden async placeholders are activated
      • it doesn't allow someone to add async placeholders dynamically (after page load) that are hidden initially

      The second problem can be seen with the in-place editor which keeps the edit content hidden while the editor is initializing in order to prevent UI flickering.

      I see three options:

      • activate async placeholders even if they are hidden (same as on page load)
      • activate async placeholders on xwiki:dom:updated event rather than listening to DOM mutations; this would allow the in-place editor to control when the async placeholders are activated
      • ask everyone to use a detached container to add dynamic async content, and attach it only when everything is ready and the async placeholders are visible

      I'm in favor of the first solution. tmortagne do you recall why you added the :visible constraint? What problems did you try to solve with that? And why not on page load also.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mflorea Marius Dumitru Florea
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: