1 person found this helpful
Can you refer me to a UI precedent where the selected item is removed from the drop down?
When the drop down is expanded on a Flex ComboBox with a selectedItem, the selectedItem is highlighted. The user cannot select it again because it is already selected.
If you parse the dataProvider to remove the selected Item, I believe the ComboBox will be reset to its default state [the unselected state if you're using a prompt or with selectedIndex = 0] without retaining the selection. You cant select an item that isn't in the source list. .
I hear you, but I'm afraid my boss doesn't
I think he sees the currently select label in the textfield of the combobox as a second entry in the list.
Maybe you need to demonstrate some other ComboBoxes to your boss. An HTML select box is one option. I'm sure it won't take too long to find one in the operating system of his choice.
Or you can extend the ComboBox to try to make it work the way he requests, but I doubt it'll be trivial.
That would be a terrible design! What if you open the combobox list, look at the other options, and decide you want to keep the same selection? The only way to do so would probably be to click "anywhere outside of the component that isn't another component"--and I'm not even sure that would work.
Your boss is wrong, you'll have to explain that this is standard behavior and make an argument that it's more difficult to cancel out of making a change. It'll confuse users too if the list changes like that, I guarantee it.
You'd have to extend ComboBox to make it do this--and that may not even work. Who knows what methods or variables (that may be private) you'd have to mess with? Who know how many hours it would take? Even ignoring the bad design aspect, it's probably just not worth the time investment. There is a chance it might be an easy change, but even in that case, the design is more important.
The code in most of these Flex components is not trivial at all...
Also, your boss is micromanaging and wrong to ask such a thing, unless he is the actual customer or at least the "owner" who's supposed to be representing the end user(s).
Does your boss have pointy hair?
I tend to agree it would be a bad design choice due to consistency with what the userse are familiar with...
However, after that your post seems particularly strongly worded, with a lot of assumptions which that may or may not be true.
Until you try it, you have no idea how easy, or hard, it would be to modify the ComboBox like this. I have no doubt it is possible, even though I doubt its practicality.
I also don't see the bosses actions as wrong or micromanaging. They may be, but we don't have enough information to judge. I've had a lot of clients ask me 'stupid' things over the years and none of them were signs of micromanagement.
I am making a few assumptions true, but I think it's fairly obvious what those assumptions are. If not I can answer specific questions.
I did say I'm not sure it'll be difficult, it might not be, but in my experience things like this are by far more often a big problem than they are an easy fix.
I should have said his boss may be micromanaging-- I'm assuming they are operating as a manager rather than a customer there. Obviously if all the requirements are coming directly from the boss, that's not the case!
BTW, I haven't tried it, but maybe if you set variableRowHeight=true on the dropdown, a custom itemRenderer can shrink its height or otherwise change its visuals to make it less confusing to the "boss". But the best way to solve these problems is with a usability test to see if the paying customers are confused or not.
Another option would be a custom dropdown that clones the DataProvider and applies a filter to the clone.
Flex SDK Developer
Adobe Systems Inc.
Many thanks for all the input guys.
Glad it's not just me that thinks it an odd request!
I'll try to persuade him it's more work than nessecary to break a standard UI.
(No the manager doesn't have pointy hair! Though it often feels like he should have!)