Git Product home page Git Product logo

Comments (8)

michael avatar michael commented on July 26, 2024

Hi, pls see Yanick's fork at http://github.com/yanickrochon/multiselect/. He did a lot of improvements, and also implemented remote (ajax) list population. I'm planning to merge back most of his changes to my repo as soon as I can get some time together.

Cheers,
Michael

from multiselect.

yanickrochon avatar yanickrochon commented on July 26, 2024

Thanks Mike!
I had to reopen my gedit with that file again this week, as I need to replace the very first version of that widget with search capabilities with a more recent one. I did a rewrite of the droppable/sortable, but it's not quite functioning completely when both lists are sortables, but I think I'm on to something there. Anyway, using the it as it is, works farily well. ...moving on....

To the the op (whaz), you cannot save a markup for this widget as it relies on dynamically bound events and other data cache. For an extensive list, that why I had to add the remote call feature because I was on the same track as you. The script is farily easy to use, and definitly customizable. Good luck with that!

from multiselect.

liqdfire avatar liqdfire commented on July 26, 2024

It extremely slow with a list of 1175 items, running the latest version.

from multiselect.

yanickrochon avatar yanickrochon commented on July 26, 2024

yes, this is an issue that has been talked many times before. The markup and the number of events to bind to each item is too excessive for lists with extensive number of items. This is why a "Search" was implemented to populate the list will smaller chunk of items per search. I personally calculated that a list with 500 item did fairly well in most browsers (especially IE, the slowest of them all)

The initial design did not take in consideration lists greater than a few hundreds. Perhaps, if someone is interested, a better implementation would be to use a data model as backend and display only the visible items inside the viewport (like SlickGrid does) ... but this would require rewriting much of the code, and would probably be for a next major release of the widget... anyone up to the challenge? :)

from multiselect.

liqdfire avatar liqdfire commented on July 26, 2024

I hear yah, unfortunately my jquery experience is a little lacking to take up the project. Time is also not something on my side right now. I wonder how hard it would be to tie in to
the scroll bar and implement some type of scroll based paging mechanism.

from multiselect.

vmasto avatar vmasto commented on July 26, 2024

Hello, link provided above doesn't work anymore,

are there any plans for this project or has it been stopped?

from multiselect.

milichev avatar milichev commented on July 26, 2024

Wouldn't it be far faster if it used composing HTML+innerHTML and jQuery.delegate?
I haven't profiled it though.

from multiselect.

gravelld avatar gravelld commented on July 26, 2024

I did some profiling in Chrome and found that if I removed the hide() in _getOptionNode and the show() in _populateLists things were much faster, without any obvious impact on the widget. Let me know if I've done something bad! :)

from multiselect.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.