Feature request:

AJAX capable dropdown menus. Please find attached screenshot to clarify what I mean by “dropdown menu” and the “item under it” (dropdown_menu_and_item_under_it.jpg).

 

 

Issue description:

For a large project with 100,000 items into the dropdown menus the 100,000 items get all pre-loaded. That’s a pain for the users because 100,000 items represent 7 to 49 minutes waiting time (20MB). Who would wait 49 minutes or 7 minutes to see a webpage? Plus during the loading time the webpage is blank nothing at all. But with AJAX capable dropdown menus loading speed would be 210 times faster (2 secondes compare to 7 minutes).

 

Here are the results for the loading time with the actual Hierarchical Select version 2.1:

 

 

Comments

francewhoa’s picture

(Continued part 2 of 4)

To reproduce the issue with Hierarchical Select version 2.1:

Dump of the used vocabularies.

______________________________________________________

Aston Martin               [item 1                                    PRE-LOADED]

  -DB9                        [item 1 > item 1                       PRE-LOADED]

  -Vanquish S              [item 1 > item 2                       PRE-LOADED]

 

BMW                           [item 2                                 PRE-LOADED]

  -3 series                    [item 2 > item 1                     PRE-LOADED]

    --318i                     [item 2 > item 1 > item 1         PRE-LOADED]

    --325i                     [item 2 > item 1 > item 2         PRE-LOADED]

  -7 series                    [item 2 > item 2                     PRE-LOADED]

    --714i                     [item 2 > item 2 > item 1         PRE-LOADED]

 

Mercedes                   [item 3                                    PRE-LOADED]

  -A-Klasse                 [item 3 > item 1                        PRE-LOADED]

  -M-Klasse                [item 3 > item 2                         PRE-LOADED]


So far we have 12 items. This vocabulary continues like that up to 100,000 items.

______________________________________________________

 

Hierarchical Select 2.1’s dropdown menus aren’t AJAX capable yet. Everything gets pre-loaded in the webpage. In other words, every possible combination within the same taxonomy (vocabulary) gets pre-loaded.

francewhoa’s picture

(Continued part 3 of 4)

To test if dropdown menus are AJAX capable or not:

  • Step 1 – I open my internet browser. Firefox in my case. I go to the page http://wimleers.com/demo/hierarchical-select I don’t click or select anything on the page.


  • Step 2 – I click “View” menu, then “Page Source”. Please find screenshot “View_source_with_firefox_step_2.jpg”.


  • Step 3 – A new window will open. That’s the source page. Everything I see in the source page is preloaded. To test this search for the term “A-Klasse” into the source page. “A-Klasse” is there so it’s preloaded. In other words not AJAX capable because I haven’t yet selected the option “Merceded > A-Klasse”. In this case that’s just fine because there’s only 12 items (A few bytes) in this particular dropdown menu. But if I have 100,000 items (20MB or so) this is too big and slow when all preloaded. Please find screenshot “View_source_with_firefox_step_3.jpg”.

 

Tested with JavaScript (JS) enabled and disable. Same results every possible combination gets pre-loaded.

 

Tested with “multiple select” enabled and disable. Same results every possible combination gets pre-loaded.

francewhoa’s picture

(Continued part 4 of 4)

Maybe there's some code into the module Active Select that could help. Active Select as AJAX capable dropdown menus. Notice the 4 [NOT PRE-LOADED] items. That means with AJAX capable dropdown menus loading speed would be 210 times faster (2 secondes compare to 7 minutes).

______________________________________________________

Aston Martin               [item 1                                    PRE-LOADED]

  -DB9                        [item 1 > item 1                       NOT PRE-LOADED]

  -Vanquish S              [item 1 > item 2                       NOT PRE-LOADED]

 

BMW                           [item 2                                 PRE-LOADED]

  -3 series                    [item 2 > item 1                     PRE-LOADED]

    --318i                     [item 2 > item 1 > item 1         PRE-LOADED]

    --325i                     [item 2 > item 1 > item 2         PRE-LOADED]

  -7 series                    [item 2 > item 2                     PRE-LOADED]

    --714i                     [item 2 > item 2 > item 1         PRE-LOADED]

 

Mercedes                   [item 3                                    PRE-LOADED]

  -A-Klasse                 [item 3 > item 1                        NOT PRE-LOADED]

  -M-Klasse                [item 3 > item 2                         NOT PRE-LOADED]

This vocabulary continues like that up to 100,000 items.

______________________________________________________

 

Hope this help,

wim leers’s picture

Assigned: Unassigned » wim leers
Status: Active » Closed (duplicate)

Thanks for the detailed explanation on why we really want Hierarchical Select to be fully "AJAXy".

However, I already knew all this. I obviously failed to communicate that to you properly.

I'm even working on this right now. Please see http://drupal.org/node/226067 :)

francewhoa’s picture

That's cool with Wim.

I have subscribed to http://drupal.org/node/226067 to watch the updates.

Thanks,