I use itemRenders for more visual complex things (images, text with bold,
etc ...)
On this case I have a generic itemRender (visual aspect) and what's
different it's the content.
Doing an itemRender for each ComboBox seems to much work and a simple
formula it's something in between for a less complex code structure.

But I understand what you mean, that's why I asked in the first place
before commit.

So, what's the best option to have this implemented only on my side (if
there is this option) ?
I would like to have this behaviour without put on the SDK and without
using itemRenderers.
For another word, how to have a copy of the custom getLabelFromData and use
this instead of the SDK ?


Harbs <harbs.li...@gmail.com> escreveu no dia terça, 7/06/2022 à(s) 22:04:

> Hard coding it into a function which is widely used by ItemRenderers does
> not seem like a good idea or very PAYG.
>
> Id suggest creating ItemRenderers which have this behavior.
>
> If there’s some way to inject the behavior into existing functions that
> would be fine too, but I can’t think off hand of a good way of doing that.
>
> > On Jun 7, 2022, at 11:48 PM, Hugo Ferreira <hferreira...@gmail.com>
> wrote:
> >
> > Method getLabelFromData from getLabelFromData.as
> >
> > I just added a new if block that seek for "[" and thread the keys.
> > If it's OK, I can commit, otherwise I ask what's the best alternative
> > solution to achive the same result.
> >
> >    public function getLabelFromData(obj:Object,data:Object):String
> >    {
> >        // slightly more code, but we bail early if it's a string which is
> > often
> >        if (data is String) return "" + data;
> >        if(!data) return "";
> >        if(data is ILabeledData) return (data as ILabeledData).label;
> >
> >        if (obj is IHasLabelField &&
> >            (obj as IHasLabelField).labelField &&
> >            (obj as IHasLabelField).labelField.indexOf("[") > -1)
> >        {
> >            var result:String = (obj as IHasLabelField).labelField;
> >            for each (var item:String in result.split("["))
> >            {
> >                if (item.indexOf("]") > -1)
> >                {
> >                    var field:String = item.split("]")[0];
> >                    result = result.replace("[" + field + "]",
> data[field]);
> >                }
> >            }
> >            return result;
> >        }
> >
> >        if (obj is IHasLabelField &&
> >            (obj as IHasLabelField).labelField &&
> >            data[(obj as IHasLabelField).labelField] != null)
> >        {
> >            return "" + data[(obj as IHasLabelField).labelField];
> >        }
> >
> >        if (obj is IHasDataField &&
> >            (obj as IHasDataField).dataField &&
> >            data[(obj as IHasDataField).dataField] != null)
> >        {
> >            return "" + data[(obj as IHasDataField).dataField];
> >        }
> >
> >        var label:String = data["label"];
> >        if(label != null){
> >            return label;
> >        }
> >        return "" + data;
> >
> >    }
> >
> > Maria Jose Esteve <mjest...@iest.com> escreveu no dia terça, 7/06/2022
> à(s)
> > 21:44:
> >
> >> Hugo, could it be seen? Maybe a branch or a PR?
> >>
> >> Hiedra
> >>
> >> -----Mensaje original-----
> >> De: Hugo Ferreira <hferreira...@gmail.com>
> >> Enviado el: martes, 7 de junio de 2022 21:58
> >> Para: Apache Royale Development <dev@royale.apache.org>
> >> Asunto: Proposal for labelField with expression support
> >>
> >> Hi,
> >>
> >> In Flex "world" one can use labelField and labelFunction.
> >> Here in Royale we have only labelField (at least I didn't see so far
> >> support for labelFunction), however I'm not a big fan of labelFunction
> >> anyway.
> >>
> >> I always wanted support for something in between of labelField and
> >> labelFunction (labelFunction with multiple fields and fixed strings)
> and I
> >> implement it on my side.
> >>
> >> Ex:
> >> model:
> >> public class User
> >> {
> >> public var Code:String;
> >> public var Name:String;
> >> }
> >>
> >> With this model, one can use Code (user code) or Name but not the
> combined
> >> fields.
> >>
> >> With a little adition I can now do something like this:
> labelField="[Code]
> >> - [Name]" and at runtime every field delimited by [] it's replaced for
> his
> >> value, allowing multiple fields and complex expressions.
> >>
> >> Can I commit this or there is a reason to not do so ?
> >>
> >> Thank you,
> >> Hugo.
> >>
>
>

Reply via email to