Creation popup by as

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Creation popup by as

De Carli Gustavo
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>


Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

Carlos Rovira-2
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

Carlos Rovira-2
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

De Carli Gustavo
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

Carlos Rovira-2
Hi Gustavo,

thanks for your kindly words :)

About your problem, I don't see in the code exposed that you are adding MyPopup to the onePopup instance

Popup has Defaultproperty "content". you must create and assign to it


<j:PopUp id="popup2"
closePopUp="popupFormContent.formValidator.removeAllErrorTips()">
<c:FormExample localId="popupFormContent" label="Form example in a PopUp" width="490" height="392"/>
</j:PopUp>


since content is Default property we can nest FormExample directly in the instance

in AS you need to add to content

Best

Carlos



El lun., 16 dic. 2019 a las 17:27, De Carli Gustavo (<[hidden email]>) escribió:
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

De Carli Gustavo

Carlos: thank, Yes, those examples were where we started from. Now MyPopup already has a label (StyledUIBase) inside.

MyPopup.mxml

<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>


It was also tested in this way, by code and not in mxml.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
var oneLabel2:Label = new Label();
oneLabel2.text = "Hi !!";
onePopup.content = oneLabel2;
this.addElement(onePopup);

onePopup.open = true;
}


Thanks for your time
Gustavo.



El lun., 16 dic. 2019 a las 13:43, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

thanks for your kindly words :)

About your problem, I don't see in the code exposed that you are adding MyPopup to the onePopup instance

Popup has Defaultproperty "content". you must create and assign to it


<j:PopUp id="popup2"
closePopUp="popupFormContent.formValidator.removeAllErrorTips()">
<c:FormExample localId="popupFormContent" label="Form example in a PopUp" width="490" height="392"/>
</j:PopUp>


since content is Default property we can nest FormExample directly in the instance

in AS you need to add to content

Best

Carlos



El lun., 16 dic. 2019 a las 17:27, De Carli Gustavo (<[hidden email]>) escribió:
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

Carlos Rovira-2
Hi Gustavo,

I didn't understand if you finally get it working or not, can you specify?
thanks
Carlos

El lun., 16 dic. 2019 a las 18:52, De Carli Gustavo (<[hidden email]>) escribió:

Carlos: thank, Yes, those examples were where we started from. Now MyPopup already has a label (StyledUIBase) inside.

MyPopup.mxml

<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>


It was also tested in this way, by code and not in mxml.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
var oneLabel2:Label = new Label();
oneLabel2.text = "Hi !!";
onePopup.content = oneLabel2;
this.addElement(onePopup);

onePopup.open = true;
}


Thanks for your time
Gustavo.



El lun., 16 dic. 2019 a las 13:43, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

thanks for your kindly words :)

About your problem, I don't see in the code exposed that you are adding MyPopup to the onePopup instance

Popup has Defaultproperty "content". you must create and assign to it


<j:PopUp id="popup2"
closePopUp="popupFormContent.formValidator.removeAllErrorTips()">
<c:FormExample localId="popupFormContent" label="Form example in a PopUp" width="490" height="392"/>
</j:PopUp>


since content is Default property we can nest FormExample directly in the instance

in AS you need to add to content

Best

Carlos



El lun., 16 dic. 2019 a las 17:27, De Carli Gustavo (<[hidden email]>) escribió:
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--


--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

De Carli Gustavo

Carlos No. both examples didn't work for me .
About your comment, MyPopup already has inside a label component.





El lun., 16 dic. 2019 a las 15:59, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

I didn't understand if you finally get it working or not, can you specify?
thanks
Carlos

El lun., 16 dic. 2019 a las 18:52, De Carli Gustavo (<[hidden email]>) escribió:

Carlos: thank, Yes, those examples were where we started from. Now MyPopup already has a label (StyledUIBase) inside.

MyPopup.mxml

<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>


It was also tested in this way, by code and not in mxml.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
var oneLabel2:Label = new Label();
oneLabel2.text = "Hi !!";
onePopup.content = oneLabel2;
this.addElement(onePopup);

onePopup.open = true;
}


Thanks for your time
Gustavo.



El lun., 16 dic. 2019 a las 13:43, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

thanks for your kindly words :)

About your problem, I don't see in the code exposed that you are adding MyPopup to the onePopup instance

Popup has Defaultproperty "content". you must create and assign to it


<j:PopUp id="popup2"
closePopUp="popupFormContent.formValidator.removeAllErrorTips()">
<c:FormExample localId="popupFormContent" label="Form example in a PopUp" width="490" height="392"/>
</j:PopUp>


since content is Default property we can nest FormExample directly in the instance

in AS you need to add to content

Best

Carlos



El lun., 16 dic. 2019 a las 17:27, De Carli Gustavo (<[hidden email]>) escribió:
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--


--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

De Carli Gustavo

El lun., 16 dic. 2019 a las 19:11, De Carli Gustavo (<[hidden email]>) escribió:

Carlos No. both examples didn't work for me .
About your comment, MyPopup already has inside a label component.





El lun., 16 dic. 2019 a las 15:59, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

I didn't understand if you finally get it working or not, can you specify?
thanks
Carlos

El lun., 16 dic. 2019 a las 18:52, De Carli Gustavo (<[hidden email]>) escribió:

Carlos: thank, Yes, those examples were where we started from. Now MyPopup already has a label (StyledUIBase) inside.

MyPopup.mxml

<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>


It was also tested in this way, by code and not in mxml.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
var oneLabel2:Label = new Label();
oneLabel2.text = "Hi !!";
onePopup.content = oneLabel2;
this.addElement(onePopup);

onePopup.open = true;
}


Thanks for your time
Gustavo.



El lun., 16 dic. 2019 a las 13:43, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

thanks for your kindly words :)

About your problem, I don't see in the code exposed that you are adding MyPopup to the onePopup instance

Popup has Defaultproperty "content". you must create and assign to it


<j:PopUp id="popup2"
closePopUp="popupFormContent.formValidator.removeAllErrorTips()">
<c:FormExample localId="popupFormContent" label="Form example in a PopUp" width="490" height="392"/>
</j:PopUp>


since content is Default property we can nest FormExample directly in the instance

in AS you need to add to content

Best

Carlos



El lun., 16 dic. 2019 a las 17:27, De Carli Gustavo (<[hidden email]>) escribió:
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--


--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

Carlos Rovira-2
Hi Gustavo,

please check this commit:


I uploaded a working example in TDJ about how to instantiate a PopUp via AS3. I don't see any issue. Maybe there's a language barrier. If you think there's some issue, please let me know with more detail so I can try to identify it.

Thanks! :)

Carlos



El mar., 17 dic. 2019 a las 3:43, De Carli Gustavo (<[hidden email]>) escribió:

El lun., 16 dic. 2019 a las 19:11, De Carli Gustavo (<[hidden email]>) escribió:

Carlos No. both examples didn't work for me .
About your comment, MyPopup already has inside a label component.





El lun., 16 dic. 2019 a las 15:59, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

I didn't understand if you finally get it working or not, can you specify?
thanks
Carlos

El lun., 16 dic. 2019 a las 18:52, De Carli Gustavo (<[hidden email]>) escribió:

Carlos: thank, Yes, those examples were where we started from. Now MyPopup already has a label (StyledUIBase) inside.

MyPopup.mxml

<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>


It was also tested in this way, by code and not in mxml.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
var oneLabel2:Label = new Label();
oneLabel2.text = "Hi !!";
onePopup.content = oneLabel2;
this.addElement(onePopup);

onePopup.open = true;
}


Thanks for your time
Gustavo.



El lun., 16 dic. 2019 a las 13:43, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

thanks for your kindly words :)

About your problem, I don't see in the code exposed that you are adding MyPopup to the onePopup instance

Popup has Defaultproperty "content". you must create and assign to it


<j:PopUp id="popup2"
closePopUp="popupFormContent.formValidator.removeAllErrorTips()">
<c:FormExample localId="popupFormContent" label="Form example in a PopUp" width="490" height="392"/>
</j:PopUp>


since content is Default property we can nest FormExample directly in the instance

in AS you need to add to content

Best

Carlos



El lun., 16 dic. 2019 a las 17:27, De Carli Gustavo (<[hidden email]>) escribió:
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--


--


--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

De Carli Gustavo
Estimado Carlos, disculpa la demora y el lenguaje, lo que quise comentar, es que el problema estaba en que la Clase Popup, no implementa  IMXMLDocument , con lo cual a la hora de navegar sus componentes
hijos daba el error mencionado, como decía el post. Esto se soluciona buscando un contenedor que en algun  metodo show, cree el Popup y realice el llamdo al metodo open() del mismo.


Muchas gracias por su tiempo.
Seguimos en contacto

El mié., 18 dic. 2019 a las 11:12, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

please check this commit:


I uploaded a working example in TDJ about how to instantiate a PopUp via AS3. I don't see any issue. Maybe there's a language barrier. If you think there's some issue, please let me know with more detail so I can try to identify it.

Thanks! :)

Carlos



El mar., 17 dic. 2019 a las 3:43, De Carli Gustavo (<[hidden email]>) escribió:

El lun., 16 dic. 2019 a las 19:11, De Carli Gustavo (<[hidden email]>) escribió:

Carlos No. both examples didn't work for me .
About your comment, MyPopup already has inside a label component.





El lun., 16 dic. 2019 a las 15:59, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

I didn't understand if you finally get it working or not, can you specify?
thanks
Carlos

El lun., 16 dic. 2019 a las 18:52, De Carli Gustavo (<[hidden email]>) escribió:

Carlos: thank, Yes, those examples were where we started from. Now MyPopup already has a label (StyledUIBase) inside.

MyPopup.mxml

<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>


It was also tested in this way, by code and not in mxml.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
var oneLabel2:Label = new Label();
oneLabel2.text = "Hi !!";
onePopup.content = oneLabel2;
this.addElement(onePopup);

onePopup.open = true;
}


Thanks for your time
Gustavo.



El lun., 16 dic. 2019 a las 13:43, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

thanks for your kindly words :)

About your problem, I don't see in the code exposed that you are adding MyPopup to the onePopup instance

Popup has Defaultproperty "content". you must create and assign to it


<j:PopUp id="popup2"
closePopUp="popupFormContent.formValidator.removeAllErrorTips()">
<c:FormExample localId="popupFormContent" label="Form example in a PopUp" width="490" height="392"/>
</j:PopUp>


since content is Default property we can nest FormExample directly in the instance

in AS you need to add to content

Best

Carlos



El lun., 16 dic. 2019 a las 17:27, De Carli Gustavo (<[hidden email]>) escribió:
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--


--


--


--
Reply | Threaded
Open this post in threaded view
|

Re: Creation popup by as

Carlos Rovira-2
Ok Gustavo,
creo que no vi ese último enlace. Ahora lo entiendo. Efectivamente, como se comenta en ese hilo no todos los compoenentes implementan IMXMLDocument
y actualmente lo habitual es separar en distintos ficheros partiendo del contender directamente superior tal y como se hace en el ejemplo [1]. Es una cuestión de rendimiento y PAYG.

Gracias :)



El vie., 27 dic. 2019 a las 0:47, De Carli Gustavo (<[hidden email]>) escribió:
Estimado Carlos, disculpa la demora y el lenguaje, lo que quise comentar, es que el problema estaba en que la Clase Popup, no implementa  IMXMLDocument , con lo cual a la hora de navegar sus componentes
hijos daba el error mencionado, como decía el post. Esto se soluciona buscando un contenedor que en algun  metodo show, cree el Popup y realice el llamdo al metodo open() del mismo.


Muchas gracias por su tiempo.
Seguimos en contacto

El mié., 18 dic. 2019 a las 11:12, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

please check this commit:


I uploaded a working example in TDJ about how to instantiate a PopUp via AS3. I don't see any issue. Maybe there's a language barrier. If you think there's some issue, please let me know with more detail so I can try to identify it.

Thanks! :)

Carlos



El mar., 17 dic. 2019 a las 3:43, De Carli Gustavo (<[hidden email]>) escribió:

El lun., 16 dic. 2019 a las 19:11, De Carli Gustavo (<[hidden email]>) escribió:

Carlos No. both examples didn't work for me .
About your comment, MyPopup already has inside a label component.





El lun., 16 dic. 2019 a las 15:59, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

I didn't understand if you finally get it working or not, can you specify?
thanks
Carlos

El lun., 16 dic. 2019 a las 18:52, De Carli Gustavo (<[hidden email]>) escribió:

Carlos: thank, Yes, those examples were where we started from. Now MyPopup already has a label (StyledUIBase) inside.

MyPopup.mxml

<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>


It was also tested in this way, by code and not in mxml.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
var oneLabel2:Label = new Label();
oneLabel2.text = "Hi !!";
onePopup.content = oneLabel2;
this.addElement(onePopup);

onePopup.open = true;
}


Thanks for your time
Gustavo.



El lun., 16 dic. 2019 a las 13:43, Carlos Rovira (<[hidden email]>) escribió:
Hi Gustavo,

thanks for your kindly words :)

About your problem, I don't see in the code exposed that you are adding MyPopup to the onePopup instance

Popup has Defaultproperty "content". you must create and assign to it


<j:PopUp id="popup2"
closePopUp="popupFormContent.formValidator.removeAllErrorTips()">
<c:FormExample localId="popupFormContent" label="Form example in a PopUp" width="490" height="392"/>
</j:PopUp>


since content is Default property we can nest FormExample directly in the instance

in AS you need to add to content

Best

Carlos



El lun., 16 dic. 2019 a las 17:27, De Carli Gustavo (<[hidden email]>) escribió:
Carlos, Thanks for your prompt response. It fix !!! Now we are dealing with an external Popup, all this is for the migration of TitleWindow of flex to royale. We believe it is the best way. Take this opportunity to congratulate the framework, hopefully you have the first release version.
Gustavo.

public function popupByAS(event:Event):void
{
trace('In method byAs');
var onePopup:MyPopup = new MyPopup();
this.addElement(onePopup);

onePopup.open = true;
}


Where MyPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<j:PopUp xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel">

<j:Label text="Hello External"/>

</j:PopUp>

MyPopup.js:42 Uncaught TypeError: this.generateMXMLAttributes is not a function
    at new main.components.Form.MyPopup (MyPopup.js:42)
    at Main.popupByAS (Main.mxml:22)
    at Main.$EH1 (Main.mxml:51)
    at Function.goog.events.fireListener [as googFireListener] (events.js:753)
    at Object.org.apache.royale.core.HTMLElementWrapper.fireListenerOverride [as fireListener] (HTMLElementWrapper.js:53)
    at HTMLButtonElement.goog.events.handleBrowserEvent_ (events.js:879)
    at HTMLButtonElement.f (events.js:296)

El lun., 16 dic. 2019 a las 13:11, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,

the main problem is that you need to add to the parent the popup created with 

addElement(onePopup);

Notice that each time you'll be creating one popup and adding to the container, so maybe you need to create some logic to ensure creation and addition to parent is done just one time.

An additional issue (that does not gives error) is that click event handlers has binding expressions. That's not needed

instead of

click="{this.popByMethod.open = true}"

you write only:

click="popByMethod.open = true"


HTH

Carlos


El lun., 16 dic. 2019 a las 17:03, Carlos Rovira (<[hidden email]>) escribió:
Hi Carli,
I'm going to try your code and see what I can report about it

El lun., 16 dic. 2019 a las 16:56, De Carli Gustavo (<[hidden email]>) escribió:
Hello, someone could be oriented because I do not have the same behavior in the creation of a popup by msxml than by as. thank you very much
Method, popupByAs, is the problem, does nothing.

thank


<?xml version="1.0" encoding="utf-8"?>
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:html="library://ns.apache.org/royale/html"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:Button="main.components.Button.*"
xmlns:Form="main.components.Form.*"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:c="components.*">

<fx:Script>
<![CDATA[

import org.apache.royale.events.Event;
import org.apache.royale.jewel.Button;
import org.apache.royale.jewel.PopUp;

public function popupByAS(event:Event):void
{
trace('In method byAs');
var oneLabel:Label = new Label();
oneLabel.text = "Hello by As";
oneLabel.visible = true;

var onePopup:PopUp = new PopUp();
onePopup.content = oneLabel;

onePopup.open = true;
}

]]>
</fx:Script>

<j:initialView>
<j:View>
<j:Button id="btnByInMXML"
text="By Method MXML"
x="10"
y="200"
emphasis="primary"
click="{this.popByMethod.open = true}"/>


<j:PopUp id="popByMethod">
<j:Label id="lblByMethod" text="Hello Method XML"/>
</j:PopUp>


<j:Button id="btnByInAS"
text="By Metodo AS"
x="10"
y="200"
emphasis="primary"
click="{this.popupByAS(event)}"/>
</j:View>
</j:initialView>
</j:Application>




--


--


--


--


--


--