Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-35672 META JavaScript performance issues
  3. MDL-35569

Rewrite init_url_select / init_select_autosubmit as YUI module and improve performance

    XMLWordPrintable

Details

    • MOODLE_23_STABLE
    • MOODLE_24_STABLE
    • MDL-35569-master
    • Hide

      These testing instructions must be carried out in as many browsers as possible. At the very least the following combinations should be tested:

      [ ] Windows IE
      [ ] Windows Chrome
      [ ] Windows Firefox
      [ ] Windows Opera
      [ ] Mac OS Chrome
      [ ] Mac OS Safari
      [ ] Mac OS Firefox
      [ ] Mac OS Opera
      [ ] iOS Safari

      • Open a course
      • Turn editing on
      • Turn the Activity chooser off
      • Choose an activity from the dropdown
        • Confirm that the page redirected
      • Return back to the course page in editing mode
      • From the 'Add a block' block's dropdown, choose a block
        • Confirm that the page redirects and that the block is added
      • Return back to the course page in editing mode
      • Add a new Choice activity
      • Submit a choice for one or more users
      • View the submitted responses
      • Select a response and from the 'Choose an action...' dropdown, choose 'Delete'
        • Confirm that the page reloads and performs the action
      • Navigate to Site administration -> Courses -> Add/edit courses
      • Create a new category
      • Navigate to the category with your other courses
      • Select a course using the checkboxes
      • From the 'Move selected courses to...', choose your new category
        • Confirm that the page reloads and performs the action
      • Search for a course (/course/search.php?search=foo)
      • Select a course using the checkboxes
      • From the 'Move selected courses to...', choose your new category
        • Confirm that the page reloads and performs the action

      NOTE: There are other dropdowns in:

      • mod/feedback/analysis_course.php
      • mod/lesson/report.php
      • theme/mymobile/renderers.php

      I've not provided test instructions for these as I don't have test data to use them with.

      Show
      These testing instructions must be carried out in as many browsers as possible. At the very least the following combinations should be tested: [ ] Windows IE [ ] Windows Chrome [ ] Windows Firefox [ ] Windows Opera [ ] Mac OS Chrome [ ] Mac OS Safari [ ] Mac OS Firefox [ ] Mac OS Opera [ ] iOS Safari Open a course Turn editing on Turn the Activity chooser off Choose an activity from the dropdown Confirm that the page redirected Return back to the course page in editing mode From the 'Add a block' block's dropdown, choose a block Confirm that the page redirects and that the block is added Return back to the course page in editing mode Add a new Choice activity Submit a choice for one or more users View the submitted responses Select a response and from the 'Choose an action...' dropdown, choose 'Delete' Confirm that the page reloads and performs the action Navigate to Site administration -> Courses -> Add/edit courses Create a new category Navigate to the category with your other courses Select a course using the checkboxes From the 'Move selected courses to...', choose your new category Confirm that the page reloads and performs the action Search for a course (/course/search.php?search=foo) Select a course using the checkboxes From the 'Move selected courses to...', choose your new category Confirm that the page reloads and performs the action NOTE: There are other dropdowns in: mod/feedback/analysis_course.php mod/lesson/report.php theme/mymobile/renderers.php I've not provided test instructions for these as I don't have test data to use them with.

    Description

      init_url_select is woefully inefficient, and init_select_autosubmit may have similar issues.
      We should rewrite it, possibly as a YUI module, and improve it's performance.
      We should try not to:

      • use loops of Y.use()
      • use loops of Y.Node.on()

      We also need to bear the accessibility issues in mind

      I believe that the attached branch should do that, but I'm not sure whether it's best to run it as a YUI module though or not.

      Attachments

        Issue Links

          Activity

            People

              dobedobedoh Andrew Lyons
              dobedobedoh Andrew Lyons
              Adrian Greeve Adrian Greeve
              Sam Hemelryk Sam Hemelryk
              Frédéric Massart Frédéric Massart
              David Woloszyn, Huong Nguyen, Jake Dallimore, Meirza, Michael Hawkins, Raquel Ortega, Safat Shahin, Stevani Andolo, Matteo Scaramuccia, David Woloszyn, Huong Nguyen, Jake Dallimore, Meirza, Michael Hawkins, Raquel Ortega, Safat Shahin, Stevani Andolo
              Votes:
              16 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                3/Dec/12