My thoughts on this:

1. In the Basic component set, there is a DropDownList and a ComboBox.  They 
are separate components and do not inherit from each other because for Basic, 
the DropDownList is an HTML <select/> tag that cannot have an editable 
"display" field.  ComboBox must be composited some other way.   It doesn't have 
to be this way in Jewel, but PAYG implies that a Jewel DropDownList would use a 
Label instead of a TextInput with editable=false.

2. The main tag in MXML is the base class for the MXML component, so anyone 
should be able to describe an MXML view for any component by starting with an 
MXML-enabled base class.  MXMLBeadView was created to do that, but I just 
looked at it and it subclasses GroupView.  That doesn't seem right to me so you 
might try having MXMLBeadView subclass BeadViewBase and a new MXMLGroupBeadView 
would bring in the GroupView pieces for those customizing views in Groups.

3. For PAYG, the current ComboBoxView should probably stick around as the 
default.  It will not incur the overhead cost of asking ValuesManager for its 
pieces.  But some more generic ComboBoxView can certain ask ValuesManager for 
its pieces.  You can ask ValuesManager for an value, not just beads.

HTH,
-Alex

On 5/31/18, 8:28 AM, "Harbs" <[email protected]> wrote:

    An additional wrinkle in this problem is wether there’s any way to specify 
the parts of the view using MXML, or it has to be in CSS.
    
    If they are beads, that problem is simplified. If not, is there a way to 
add to ValueManager via MXML?
    
    Harbs
    
    > On May 31, 2018, at 6:09 PM, Harbs <[email protected]> wrote:
    > 
    > I don’t think so. The List is a component within ComboBox. I think the 
basic structure of ComboBox makes sense as is. I think it’s the View which 
needs work.
    > 
    > It’s possible that an Express ComboBox might have additional properties 
to make it easier to set the labelField, listHeight, etc.
    > 
    > I’m primarily trying to figure out the best way to declare the “skin 
pieces” of the view.
    > 
    > Harbs
    > 
    >> On May 31, 2018, at 5:17 PM, Piotr Zarzycki <[email protected]> 
wrote:
    >> 
    >> Hi Harbs,
    >> 
    >> What if ComboBox will extend DataContainer? It will be at some point list
    >> itself. Than the rest responsibility is in View. We know that ComboBox is
    >> always list, so if someone would like to change the other parts need to
    >> have dive into view.
    >> 
    >> On the other hand this solution probably is less flexible than having
    >> through css some parts of that component.
    >> 
    >> Thanks,
    >> Piotr
    >> 
    >> 
    >> czw., 31 maj 2018 o 15:35 Harbs <[email protected]> napisał(a):
    >> 
    >>> I’m working on redoing ComboBox and I could use some input on best
    >>> practices.
    >>> 
    >>> Right now, ComboBox has ComboBox view which has three components
    >>> hard-wired in. It has TextInput, TextButton, and List. If any visuals or
    >>> behavior need to be changed, the entire view needs to be rewritten. 
We’ve
    >>> already had two cases where I needed a new view. One was to disable the
    >>> TextInput input and change the button appearance. The second was to 
support
    >>> images in a dropdown.
    >>> 
    >>> It seems to me like the ComboBoxView should add the three components 
based
    >>> on declared classes. I think there should be 1. A “Button” component. 
2. An
    >>> ItemRenderer component for the “input” which displays the selected 
item. 3.
    >>> A List component for displaying the dropdown. The question I’m 
struggling
    >>> with is how to declare these.
    >>> 
    >>> I don’t think it makes sense to make these all beads. Currently Buttons
    >>> are not beads.
    >>> 
    >>> Should we add interfaces (i.e. IButton) and declare the classes using
    >>> interfaces? I mean something similar to IItemRenderer.
    >>> 
    >>> Maybe just use ValuesManager to just lookup some other “name”? We’re
    >>> currently doing something similar with ColumnClassName in 
DynamicDataGrid.
    >>> 
    >>> Other ideas?
    >>> 
    >>> Thanks,
    >>> Harbs
    >> 
    >> 
    >> 
    >> -- 
    >> 
    >> Piotr Zarzycki
    >> 
    >> Patreon: 
*https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C11420f00b73946ac852408d5c70b3253%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636633773269480226&sdata=WlvpUXXxjb5f6D7UQJUNKKpDM44oCfbPKPOHiMOkkFM%3D&reserved=0
    >> 
<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C11420f00b73946ac852408d5c70b3253%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636633773269480226&sdata=WlvpUXXxjb5f6D7UQJUNKKpDM44oCfbPKPOHiMOkkFM%3D&reserved=0>*
    > 
    
    

Reply via email to