alexandernst / angular-multi-select

A multi select dropdown directive for AngularJS.
http://alexandernst.github.io/angular-multi-select
MIT License
59 stars 26 forks source link

Plan for v6 #49

Closed alexandernst closed 8 years ago

alexandernst commented 9 years ago

Version 5 works quite well with small/medium data sets, but it's dog slow with big data sets (500+ items). Given the fact that there are some other issues that must be fixed as well, and those require some refactoring too, and the UI part needs to be redone with CSS3 (flex box), there is no reason to limit the project to what is done currently. A complete rewrite will be easier.

Those are the main features that will be worked on:

Faster data structure

Of course, the current data structure that is used to initialize the directive is fine and should probably be kept as it is, but internally some other type of data structure should be used that will allow a faster data access.

The data structure should allow doing the following operations in a fast way:

Also, use http://weaver.js.org/ to make the entire process faster.

Faster tick checker

Probably a separate data structure that would help in the process of checking which items are checked will be required.

ES6?

Decide if Babel/Typescript should be used

Searching

Searching is yet another important feature. We can't iterate over each item and perform a regex. Therefore, something else (like http://lunrjs.com/) should be used.

UI

The UI should be rewritten with flex box.

Backwards compatibility

Backwards compatibility should be kept. There is no reason to break it (but it could be broken if needed).

alexandernst commented 9 years ago

cc @zachlysobey

alexandernst commented 8 years ago

The only thing that isn't implemented yet from here is the lunrjs integration. Everything else is done. I'm closing this and opening a lunrjs dedicated issue.