Many months ago I posted a widget wish list request to my blog. The response was overwhelming. I'm sorry I haven't gotten a chance to respond to that thread (until now). I did read all the responses, and won't be able to address all of them, but let me respond to a few.
Added features:
Since the 0.9 release, we've added a number of frequently requested features to dijit and dojox:
Documentation - thanks especially to Craig, Neil, and Peter we now have both The Dojo Book and the Dojo API reference
Lazy load editable table: dojox.grid (thanks Scott and Steve!)
Charting: dojox.charting (thanks Eugene!)
More tree features: dynamic updates, DnD, icons, etc. The tree now has DnD, and also will update itself dynamically according to updates to the data store. However, this is still a work in progress. There's an issue with ItemFileWriteStore in that it doesn't maintain referential integrity: you can delete a child without deleting the reference to it. And also, the dojo.data API doesn't support lazy-load of specified attributes, which means that an item (representing a node in the tree) must contain at the least a list of the id's of it's children, which is not a good model for lazy-load of tree children. Many people have also requested the ability to directly control the contents of the tree rather than going through dojo.data but we've resisted that as we want to keep dijit simple.
File upload: dojox.widget.FileInput (thanks phiggins!)
A server-proxy dojo.data store: dojox.data.QueryReadStore (thanks Wolfram!). Many people have been confused and think that FilteringSelect/ComboBox need to download all the data to the client, but that's not true. Rather, that's just a property of the dojo.data provider. The provider can download all the data and filter on the client (how ItemFileReadStore works), or it can pass every query to the server (how QueryReadStore works), or somewhere in between.
Drag and drop, reordable lists: dojo.dnd (thanks Eugene!) This is not a widget per se but peole tend to think it is, so I've listed it here.
form widget width setting - Can now set the outer width on input type form widgets (*TextBox, FilteringSelect), and that width includes both the size of the down arrow and the input typing area. Makes it easy to make all your fields the same width. But not supported for buttons yet.
Still on the list:
Now here are some frequently requested things that we haven't implemented [yet]:
Support layout widgets inside hidden components like dialogs - I often see (duplicate) bugs about how TabContainer or other layout widgets don't work when placed inside a Dialog, or are otherwise hidden during instantiation. This is definitely an issue, but is hard to fix, since widgets that do javascript sizing can't initialize when hidden because their computed style (like the computed height) turns up as 0 or NaN. And even when using the "A List Apart" 4-corners technique we still need to use javascript to compute the height of the tab labels, which varies depending on the browser's font setting. That's still an open issue.
Control positioning of tooltips/ValidationTextBox tooltips/tooltip dialogs - many people have asked to control the positioning of tooltips (including the validation error tooltip messages), so we'll have to do that for 1.1. The obvious position to put a tooltip is below the target object, but the problem is that it covers up the drop down (from a drop down button, FilteringSelect, etc.). Suggestions welcome.
Documentation about how to style a widget (IE, the CSS attributes) - I'd like to get this done eventually although obviously it's a very big job. Volunteers welcome.
MenuBar - We have a ToolBar widget that's quite similar to a MenuBar widget, but there are subtle differences like the ability for a menu to open just by hovering, without clicking. People want a MenuBar that mimics Menu exactly (except that it's horizontal instead of vertical). Planned for 1.1.
TabContainer/StackContainer with flexible height - this is the doLayout=false flag for those widgets and we plan to support it in the 1.1 release, at least for StackContainer, and for TabContainer where the tabs are on top. I'm not sure about other TabContainer configurations though, like having the labels on the right. Would be interesting to hear what people need.
LayoutContainer with flexible height/width, or with no height adjustment at all - I see these requests fairly often but I haven't been convinced that a widget would add much value over just using a table, so no current plans to implement this feature.
Non-modal Dialog - People often ask for dijit.Dialog to have a non-modal option, although actually you can already do this with dojox.widget.FloatingPane. But perhaps we should roll that functionality into dijit. For me the substantive difference between Dialog and FloatingPane is that Dialog sizes itself according to it's content, whereas FloatingPane takes a predefined size (and has a scrollbar). People also often ask to specify a height, width, or maximum width of Dialogs, the first two of which are easily done by making the dialog contain a <div> with a predefined width/height. minimum-width is more difficult but can be achieved using CSS and expressions.
Other things:
There were many more responses about widgets people wanted. We'll never be able to implement all of those requests but my advice is to try submitting the widget yourself. There's always lots of help for aspiring widget writes on IRC, and we always welcome new submissions.

tree
Thanks for the new features in the tree. I hope the tree dnd will work soon. Without that I'm stuck in 0.4
So OK, let me try make that
So OK, let me try make that optional. It's got some annoying a11y issues, handling the case when no nodes are shown and thus there is nothing to focus on, but can deal with those.
mp3alf | mp3budda | mp3 love song | mp3 music
dialog question
you said:
"the first two of which are easily done by making the dialog contain a div with a predefined width/height."
Does the content inside the dialog then become scrollable if it is larger than the height you give the div? I currently have dialogs where depending on user action the content could be taller than the browser window itself. ModalFloatingPanes have been of some help, but they have other issues I am dealing with (0.4).
Tooltip / Validation prompt position is definitely high on my list. How long is it expected before there is a 1.1 out of curiousity?
Thanks for the feedback!
Josh
CSS
Hi Josh,
Just google the "overflow" attribute in CSS. The default is "auto" which means that a scrollbar shows up if the content is larger than the height you gave it.
As for the 1.1 release date, we still haven't decided. Probably somewhere between three and six months from the 1.0 release date.
OK, noted about your vote for tooltip positioning. We need to define exactly what the positioning options should be... you are probably thinking of a simple above/left/below/right but I wonder if that's what you really want, as it would put the tooltip below the aroundNode even if that meant it got cutoff by the bottom of the viewport.
Reply below
Bill - I replied to this comment but it didn't get threaded properly - see below please.
Josh
multiple selection list
Think this has been mentioned by others already but as it's a real functional gap (please correct if i overlooked something) i'd like to emphasize the importance of such a widget.
In plain html you got select multiple="true" to display a list which you can pick multiple values at once. This is a fundamental functionality in every GUI toolkit i know but it seems to be missing in Dojo 1.0. Of course you can display a list of checkboxes but that's not appropriate in many cases. I don't think this is just a 'nice-to-have' but a must for a complete toolkit.
Further a plain list (may it be selection multiple or not) is a fundamental control which is needed in many use cases giving the user immediate view at some values without clicking on a down arrow as in combobox.
I think a list should be part of Dijit not DojoX.
Joern
difference?
Hi Joey. Just to play devil's advocate, what is about the select multiple=true thing that makes it (conceptually) different than a bunch of checkboxes? I realize that HTML has that feature but I hardly ever see it used.
I usually use select multiple=true much more than checkboxes.
...to me there are several advantages to using a list box:
1. reduces visual clutter--for me, this is by far the biggest advantage.
2. reduces UI complexity--instead of hunting around for associated checkboxes and/or a "select all"/"deselect all" button, I can simply hold shift and scroll...in addition, instead of looking for a separate element, I can click directly on the label in question. Of course you can do this with proper HTML setup but it's much more intuitive in a list (since OSes train users that way as it is).
3. it's easier to set up a DnD thing with a list box than it is a checkbox+label setup.
The main disadvantage to it is the hiding of values, forcing someone to scroll through a list to see if the value they are looking for is available. But as with anything else, compromises must be made...
a list is a list and a checkbox is a checkbox ;)
Right,
from a conceptual point of view a list with multiple="true" is of course the same than a group of related checkboxes. They are two ways of displaying the same thing but with the differences ttrenka already pointed out.
But often a group of checkboxes will not be practical if you don't want to completely clutter the UI. Think of a list of a hundred values to choose from. You surely won't use checkboxes to display these not to speak of the cost to create a hundred dijits instead of one.
The other point ttrenka already mentioned is the use of lists and dnd. It's a common use case to allow dnd between two lists e.g. for selecting fields in a reporting system which is not possible (or at least not at all intuitive) with checkboxes
i see
I see your points. Although not sure what a widget would do above and beyond the native control? Did you want it to load the list from dojo.data? Or was it a look & feel thing? Or to have something to work with the Form widget?
If you want to provide something I think we could add it to Dijit. Note that bug #3270 is an open ticket about implementing a single-select widget, similar to ComboBox but without the fancy filtering and dojo.data integration. (The purpose of the widget would be to, for example, show pictures in the drop down, in addition to text.)
There would be a few advantages...
...such as the ability to add icons to each listing, full HTML customization, or make it table-based (like Filtering used to do)...there'd also be the additional advantages of theme-control as well as not having to deal with the shine-through issues under IE <=6.
I'd probably think of such a widget as an enhanced version of what HTML provides with theme integration.
IIRC there's something sitting in DojoX that would be a good start, SortList maybe?
password input
i'm missing a variant of TextBox that allows masked input of passwords which is input type="secret" in plain HTML.
password
That's already there. See the bottom of test_validate.html.
its actually type="password" I do believe...
-Karl
Tooltip
We also need a Tooltip option that allows you to click on a link within a Tooltip (similar to the .4 Tooltip). Currently it disappears immediately when you roll off of the icon/reference
TooltipDialog
Well, that's what TooltipDialog is for (see test_Dialog.html). Doesn't suit your needs?
TooltipDialog requires
TooltipDialog requires clicks to open and close. Any way to activate it on a hover? See http://www.dojotoolkit.org/forum/dijit-dijit-0-9/dijit-support/links-too...
Bill - I tried the
Bill - I tried the overflow:auto in 0.4.3 and posted this in the legacy forum:
http://dojotoolkit.org/forum/dojo-0-4-x-legacy/dojo-0-4-x-support/inputs...
Do you know if using overflow:auto has any problems if there are form elements on the dialog? Lastly, would you apply the overflow:auto to the div node that has dojotype=Dialog or to its first child node?
<div>
lots of content...
</div>
</div>
Or:
<div overflow:auto here?>
lots of content...
</div>
</div>
Tooltips - my main concern with validation tooltips and layout is that the tooltip appears over any other form elements so if I have an input box and to its right a select box - the tooltip can appear to the right as long as it appears over the select list - I've seen some bubble tooltips that try to do this and the select list winds up visible through the tooltip or the layout of the whole form changes. Other than that - just simply stating position = above,below,right,left, etc would be fine. I don't think would need to go into specifying pixels, at least not for my needs.
Thanks for listening,
Josh
P.S. Why don't I get email notifications when you reply to my posts? I thought that used to work...
second one
Hi Josh,
It's the second one, put the style="overflow: auto" on the inner div.
I definitely understand the issue with tooltips; it's high on my list to fix too.
As for the email notifications, there's some setting in drupal (our site runs on drupal) for your account, to get notifications or not, but I don't remember the details.
I believe the setting is
I believe the setting is Autosubscribe...
Thanks
Thanks bill,
Do validation tooltips on dojo 1.0 not work as above? I haven't had a chance to play with them yet.
Found the drupal setting - thanks!
Josh
thanks
so - now it works perfectly, thanks!