Okay, well I'll do it then.

Hiedra.

De: Harbs <[email protected]>
Enviado el: lunes, 15 de junio de 2020 17:42
Para: [email protected]
Asunto: Re: Add Beads

Cool.

There might be beads which assume beadsAdded is only dispatched once, so 
Yishay’s solution is probably better.



On Jun 15, 2020, at 6:20 PM, Maria Jose Esteve 
<[email protected]<mailto:[email protected]>> wrote:

Harbs, also works:


        override public function addedToParent():void
        {

            super.addedToParent();

            var localdisabledBead:ComboBoxDisabled = 
getBeadByType(ComboBoxDisabled) as ComboBoxDisabled;
            if (localdisabledBead == null) {
                disabledBead = new ComboBoxDisabled();
                disabledBead.disabled = _disabledBead;
                addBead(disabledBead);
            }
            var localtruncateTextBead:ComboBoxTruncateText = 
getBeadByType(ComboBoxTruncateText) as ComboBoxTruncateText;
            if (localtruncateTextBead == null) {
                truncateTextBead = new ComboBoxTruncateText;
                addBead(truncateTextBead);
            }
            var localtextPromptBead:ComboBoxTextPrompt = 
getBeadByType(ComboBoxTextPrompt) as ComboBoxTextPrompt;
            if (localtextPromptBead == null) {
                textPromptBead = new ComboBoxTextPrompt;
                textPromptBead.prompt = _textPrompt;
                addBead(textPromptBead);
            }else{
                trace("BEAD BEAD PROMPT EXIST 
------------------------------------------------");
            }

            sendEvent(this,"beadsAdded");
        }


Thanks to both of you.
Hiedra.

De: Harbs <[email protected]<mailto:[email protected]>>
Enviado el: lunes, 15 de junio de 2020 15:07
Para: [email protected]<mailto:[email protected]>
Asunto: Re: Add Beads

Since the beadsAdded event is fired after super.addedToParent, you’ll need to 
add your bead before super or dispatch beadsAdded a second time (probably not a 
great idea).

Try Yishay’s suggestion of adding the bead before the super call.



On Jun 15, 2020, at 4:03 PM, Maria Jose Esteve 
<[email protected]<mailto:[email protected]>> wrote:

I forgot,…
Yes, I have debugged and the bead is added correctly and the textprompt also 
recognizes it:
Before adding it:

<image002.png>

After:

<image003.png>

You mean this?

De: Maria Jose Esteve <[email protected]<mailto:[email protected]>>
Enviado el: lunes, 15 de junio de 2020 14:42
Para: [email protected]<mailto:[email protected]>
Asunto: RE: Add Beads

Hi Yishay, look...

<image001.png>


The Combobox, framed in green, has the bead added in the tag directly:


                    <wp:ComboBoxWP percentWidth="83" localId="comboCentroCoste" 
labelField="displaytext" valueField="codigo"
                                className="truncateLabelListItemRenderer">
                        <wp:beads>
                            <j:ComboBoxTextPrompt prompt="\u21F2 ..."/>
                        </wp:beads>
                    </wp:ComboBoxWP >


and the other, framed in red, has it automatically added from the addToParent.
In the first case it works, and in the second it doesn't.
I have to say, that my Extension is a .as class, not an mxml, will it have 
something to do with it?

Thanks you.
Hiedra.

De: Yishay Weiss <[email protected]<mailto:[email protected]>>
Enviado el: lunes, 15 de junio de 2020 14:25
Para: [email protected]<mailto:[email protected]>
Asunto: RE: Add Beads

Hi Hiedra,
I see nothing wrong. In what sense does it not work for you? Did you try 
putting a breakpoint in the “set strand” method of ComboBoxTextPrompt?

From: Maria Jose Esteve<mailto:[email protected]>
Sent: Monday, June 15, 2020 3:04 PM
To: [email protected]<mailto:[email protected]>
Subject: RE: Add Beads

Hi Harbs, thanks for replying.
The specific case is an extension of the ComboBox control to which I want to 
add the default prompt.
Currently I have added it in addToParent but it doesn't work for me, although 
with debug, I see that it does add it and configure it correctly. See something 
wrong?

        private var textPromptBead:ComboBoxTextPrompt;

        public function ComboBoxWP() {
            super();
        }

        override public function addedToParent():void
        {
            super.addedToParent();
            var localtextPromptBead:ComboBoxTextPrompt = 
getBeadByType(ComboBoxTextPrompt) as ComboBoxTextPrompt;
            if (localtextPromptBead == null) {
                textPromptBead = new ComboBoxTextPrompt;
                textPromptBead.prompt = _textPrompt;
                addBead(textPromptBead);
            }
        }

        private var _textPrompt:String = "\u21F2 ...";
        [Bindable]
        public function get textPrompt():String{ return _textPrompt; }
        public function set textPrompt(value:String):void
        {
            _textPrompt = value;
            textPromptBead.prompt = _textPrompt;
        }

Thank you.
Hiedra

De: Harbs <[email protected]<mailto:[email protected]>>
Enviado el: lunes, 15 de junio de 2020 13:52
Para: [email protected]<mailto:[email protected]>
Asunto: Re: Add Beads

Good question. :-)

It depends on the type of bead.

Any beads that are added using MXML will be added in the addeToParent method. 
The reason for this is because many beads need the component to be added to the 
DOM.

If it’s a bead which does not need the DOM structure to be set up, you can 
simply add it in the class constructor after super().

HTH,
Harbs

On Jun 15, 2020, at 2:40 PM, Maria Jose Esteve 
<[email protected]<mailto:[email protected]>> wrote:

Hello,
I am extending a component and need to add a default bead to it. (This is a 
jewel control but I imagine it will be similar in basic or mx)
I have seen in the SDK code that there is no "fixed point" where to add it: in 
some controls they are added in the same constructor, in others they are added 
in the addToParent, in others in the addBead ...

Where should I do it?

Thank you.
Hiedra.

Reply via email to