Skip to content

I have a number of updates... #717

@SteveTheTechie

Description

@SteveTheTechie

Thank you for approving my pull requests.

I have been using a older version of this widget for a few years that I have made a number of updates to on my own. The widget has had (and continues to have) a lot of potential and value. However, because I made my changes on my version and there have obviously been changes made here, there are quite a few differences at this point.

Some of my changes I made in the older copy were intended to accomplish the following:

  • 1. Make the widget more performant--the original version I started with was very slow in some cases and used jQuery excessively to the point where it was killing speed. In particular, initializing the widget successively in a large table shows just slow it is--the pop-up list generation seems to be the main culprit. A blended "less is more" strategy that uses either more cached jQuery and/or less jQuery (more straight JavaScript) results in a faster widget.

  • 2. Implemented capability to automatically determine best minWidth based on underlying <select> options.

  • 3. Implemented ability to change the text used for the default links in the header or omit specific default links. This is very useful when maxSelected is in effect, since Check All will likely cause the number of selections to exceed the maximum, but Uncheck All still has value then.

  • 4. Implemented "Flip All" header link that toggles the state of each check box.

  • 5. Changed the update routine to correctly reposition the menu (down) for a growing list of selections in the button which causes the button height to grow.

  • 6. Ditched the use of jQuery UI icons, in favor of similar HTML entities. The jQuery UI icons are not scalable, whereas the HTML entities are.

  • 7. Ditched the multiple option. The multiple attribute of the underlying element is used instead in order to enforce the widget behavior to align with the select element's attributes.

  • 8. Implemented capability to set the menu height based on the size attribute of the underlying select element.

  • 9. Implemented a built-in maxSelected behavior and option. If maxSelected is set to a number, the default alert message is displayed. If it is set to a function name, the function is ran and behavior depends on return value. Not really completed yet.

If you are open to it, I would like to incrementally post a number of pull requests to get the two versions closer together. I also have a number of additional enhancements I have been putting off making.

Can you tell me what your maintenance objectives are for this widget, moving forward, so that I am not spending time on updates that are not wanted?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions