Re: [EXTERNAL] Re: Crux - ItemRenderer

2021-11-24 Thread Roman Isitua
Your solution worked. Good to know that I can enable crux work in a pop up.

Thanks Brian.

On Tue, Nov 23, 2021 at 10:59 AM Roman Isitua  wrote:

> Thanks for sharing this. I will try your suggestion and revert back to you.
>
> One question I have now is must the modal property be set to true for crux
> to work in the pop up ?
>
> I think in my use case the modal property is false. I will check and
> revert
>
>
>
>
>
> On Mon, 22 Nov 2021, 23:29 Brian Raymes,  wrote:
>
>> To make Crux work within popups, simply dispatch the ADD_BEAN event for
>> the content before opening it. For example:
>>
>>
>>
>> var somePopupContent:SomePopupContent = new SomePopupContent();
>>
>> dispatchEvent(new BeanEvent(BeanEvent.ADD_BEAN, somePopupContent));
>>
>>
>>
>> var popup:PopUp = new PopUp();
>>
>> popup.modal = true;
>>
>> popup.content = somePopupContent;
>>
>>
>>
>> addElement(popup);
>>
>>
>>
>> popup.open = true;
>>
>>
>>
>> Then, before closing, remove it:
>>
>>
>>
>> dispatchEvent(new BeanEvent(BeanEvent.REMOVE_BEAN, this));
>>
>> dispatchEvent(new Event('closePopUp'));
>>
>>
>>
>> Hope this helps.
>>
>>
>>
>> Brian
>>
>>
>>
>>
>>
>> *From:* Roman Isitua 
>> *Sent:* Monday, November 22, 2021 12:33 PM
>> *To:* users@royale.apache.org
>> *Subject:* [EXTERNAL] Re: Crux - ItemRenderer
>>
>>
>>
>> I can confirm that crux setter injection does not work inside pop up. The
>> work around I have come up with is to do the setter injection in the parent
>> view then pass the variable to my pop.
>>
>>
>>
>> By setter injection I mean,
>>
>>
>>
>>  [Inject( source = "acctController.estateSearchList", bind = "true" )]
>>
>> public function setEstateSearchList(val:ArrayList):void
>>
>> {
>>
>>  trace(" injected estateSearchList. hurray !! ");
>>
>>
>>
>> this.estateSearchList = val;
>>
>>
>>
>> trace(" estateSearchList has been set ! ");
>>
>> }
>>
>>
>>
>>
>>
>> However, I have noticed this style of injection works
>>
>>
>>
>>   [Inject]
>>
>> public var configData:ConfigData;
>>
>>
>>
>>
>>
>> Regards,
>>
>>
>>
>>
>>
>>
>>
>> On Sun, Nov 21, 2021 at 1:07 AM Greg Dove  wrote:
>>
>> I can't say for certain Maria, because it's been some time since I used
>> Crux.
>>
>>
>>
>> Are your renderers in the main app, or are they in a popup? Crux may not
>> work inside a popup, without some tweaking and tuning for JSStageEvents,
>> iirc.
>>
>>
>> Beyond that I think Crux is not particularly suitable for ItemRenderers.
>> At least I would personally try to avoid using it in this case, unless the
>> renderer count is always relatively low.
>>
>>
>>
>> One of the key differences between the JS implementation vs. the Flash
>> implementation is when the bean setup is run to support processing the
>> view. This is triggered by 'addedToStage' event, which does not have
>> directly comparable support in the browser.
>>
>> JSStageEvents bead creates a simulated 'addedToStage' event. But the way
>> that works is asynchronous (delayed) compared to the way it works in flash
>> (which is synchronous) as soon as the renderer is added to the stage. So
>> that is one possible reason for things not working the same, because often
>> the code that is creating the renderers is also explicitly running code in
>> the newly created renderer instance (like setting data and possibly other
>> calls). It might be doing this after it has been 'addedToStage' and there
>> is no chance for the PostConstruct method to run first, because it would be
>> delayed. But if PostConstruct is never running at all then it could be
>> related to use in a Popup.
>>
>> Another thing to check is to make sure the package filtering on the
>> JSStageEvents is not excluding your renderers from having the simulated
>> events being created.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Sun, Nov 21, 2021 at 11:51 AM Maria Jose Esteve 
>> wrote:
>>
>> Hi, Is there any explanation for the fact that "[PostConstruct]" does not
>> work in the itemrenderers?
>>
>>
>>
>> Thx.
>>
>> Hiedra
>>
>>


Re: [EXTERNAL] Re: Crux - ItemRenderer

2021-11-23 Thread Roman Isitua
Hi maria,

>From what you shared I think the only difference is the modal property.

I will have to confirm this. I will revert.



On Tue, 23 Nov 2021, 10:04 Maria Jose Esteve,  wrote:

> Hi guys,
>
> Maybe we are missing something and, perhaps, it would be "interesting" to
> investigate a bit more "when we have time to dedicate to it".
>
> First I want to say that "there was a time" when this was happening to me:
> crux did not work directly in a PopPup and I had to activate and deactivate
> it manually, as Brian says, BUT at a certain point "it started to work" and
> nowadays it still works for me ☹
>
>
>
> I briefly describe the components and the calling method:
>
>
>
>- Component to display in the PopUp (= SomePopupContent, from Brian's
>example):
>   - 
>
>
>
>-   
>
>
>
>- I define injections as follows:
>
>
>
>[Bindable]
>
>
> [Inject(source="shellModel", required="true")]
>
>public var
> shellModel:ShellModel;
>
>
>
>… source="shellModel", Corresponds to the localId of the
> model defined in the BeanProvider, inside App.mxml
>
>
>
>
>
>
> 
>
>
> 
>
>
>
>
>
>- Example of Call (the view from where the call is made also has
>injected models)
>
>
>
> private var popupAux:PopUp;
>
> public function showPopUpForm():void
>
> {
>
> var contentPopup:PermissionsPopUp;
>
> contentPopup = new PermissionsPopUp();
>
> contentPopup.id = "vContentXX";
>
> contentPopup.description = "Level: " + tCodigo.text +
> " - " + tDescription.text;
>
>
>
> if(_currentResponsiveSize == ResponsiveSizes.PHONE)
>
> contentPopup.percentWidth = 80;
>
> else
>
> contentPopup.width = 500;
>
> contentPopup.percentHeight = 80;
>
> contentPopup.readOnly = (primaryModel.currentGrState
> != UtilConstants.GRSTATE_EDITING);
>
> contentPopup.addEventListener("closePopUp",
> onPopUpClose);
>
>
>
> if(!popupAux)
>
> {
>
> popupAux = new PopUp();
>
> popupAux.modal = true;
>
> popupAux.content = contentPopup;
>
> addElement(popupAux);
>
> }
>
> else
>
> {
>
>             popupAux.content = contentPopup;
>
> }
>
> }
>
>
>
> if(!popupAux.open)
>
> popupAux.open = true;
>
> }
>
>
>
> Why does it work? I don't know ☹... Roman could you compare this example
> with your completed code?
>
>
>
> Hiedra
>
> *De:* Brian Raymes 
> *Enviado el:* lunes, 22 de noviembre de 2021 23:29
> *Para:* users@royale.apache.org
> *Asunto:* RE: [EXTERNAL] Re: Crux - ItemRenderer
>
>
>
> To make Crux work within popups, simply dispatch the ADD_BEAN event for
> the content before opening it. For example:
>
>
>
> var somePopupContent:SomePopupContent = new SomePopupContent();
>
> dispatchEvent(new BeanEvent(BeanEvent.ADD_BEAN, somePopupContent));
>
>
>
> var popup:PopUp = new PopUp();
>
> popup.modal = true;
>
> popup.content = somePopupContent;
>
>
>
> addElement(popup);
>
>
>
> popup.open = true;
>
>
>
> Then, before closing, remove it:
>
>
>
> dispatchEvent(new BeanEvent(BeanEvent.REMOVE_BEAN, this));
>
> dispatchEvent(new Event('closePopUp'));
>
>
>
> Hope this helps.
>
>
>
> Brian
>
>
>
>
>
> *From:* Roman Isitua 
> *Sent:* Monday, November 22, 2021 12:33 PM
> *To:* users@royale.apache.org
> *Subject:* [EXTERNAL] Re: Crux - ItemRenderer
>
>
>
> I can confirm that crux setter injection does not work inside pop up. The
> work around I have come up with is to do the setter injection in the parent
> view then pass the variable to my pop.
>
>
>
> By setter injection I mean,
>
>
>
>  [Inject( source = "acctController.estateS

Re: [EXTERNAL] Re: Crux - ItemRenderer

2021-11-23 Thread Roman Isitua
Thanks for sharing this. I will try your suggestion and revert back to you.

One question I have now is must the modal property be set to true for crux
to work in the pop up ?

I think in my use case the modal property is false. I will check and revert





On Mon, 22 Nov 2021, 23:29 Brian Raymes,  wrote:

> To make Crux work within popups, simply dispatch the ADD_BEAN event for
> the content before opening it. For example:
>
>
>
> var somePopupContent:SomePopupContent = new SomePopupContent();
>
> dispatchEvent(new BeanEvent(BeanEvent.ADD_BEAN, somePopupContent));
>
>
>
> var popup:PopUp = new PopUp();
>
> popup.modal = true;
>
> popup.content = somePopupContent;
>
>
>
> addElement(popup);
>
>
>
> popup.open = true;
>
>
>
> Then, before closing, remove it:
>
>
>
> dispatchEvent(new BeanEvent(BeanEvent.REMOVE_BEAN, this));
>
> dispatchEvent(new Event('closePopUp'));
>
>
>
> Hope this helps.
>
>
>
> Brian
>
>
>
>
>
> *From:* Roman Isitua 
> *Sent:* Monday, November 22, 2021 12:33 PM
> *To:* users@royale.apache.org
> *Subject:* [EXTERNAL] Re: Crux - ItemRenderer
>
>
>
> I can confirm that crux setter injection does not work inside pop up. The
> work around I have come up with is to do the setter injection in the parent
> view then pass the variable to my pop.
>
>
>
> By setter injection I mean,
>
>
>
>  [Inject( source = "acctController.estateSearchList", bind = "true" )]
>
> public function setEstateSearchList(val:ArrayList):void
>
> {
>
>  trace(" injected estateSearchList. hurray !! ");
>
>
>
> this.estateSearchList = val;
>
>
>
> trace(" estateSearchList has been set ! ");
>
> }
>
>
>
>
>
> However, I have noticed this style of injection works
>
>
>
>   [Inject]
>
> public var configData:ConfigData;
>
>
>
>
>
> Regards,
>
>
>
>
>
>
>
> On Sun, Nov 21, 2021 at 1:07 AM Greg Dove  wrote:
>
> I can't say for certain Maria, because it's been some time since I used
> Crux.
>
>
>
> Are your renderers in the main app, or are they in a popup? Crux may not
> work inside a popup, without some tweaking and tuning for JSStageEvents,
> iirc.
>
>
> Beyond that I think Crux is not particularly suitable for ItemRenderers.
> At least I would personally try to avoid using it in this case, unless the
> renderer count is always relatively low.
>
>
>
> One of the key differences between the JS implementation vs. the Flash
> implementation is when the bean setup is run to support processing the
> view. This is triggered by 'addedToStage' event, which does not have
> directly comparable support in the browser.
>
> JSStageEvents bead creates a simulated 'addedToStage' event. But the way
> that works is asynchronous (delayed) compared to the way it works in flash
> (which is synchronous) as soon as the renderer is added to the stage. So
> that is one possible reason for things not working the same, because often
> the code that is creating the renderers is also explicitly running code in
> the newly created renderer instance (like setting data and possibly other
> calls). It might be doing this after it has been 'addedToStage' and there
> is no chance for the PostConstruct method to run first, because it would be
> delayed. But if PostConstruct is never running at all then it could be
> related to use in a Popup.
>
> Another thing to check is to make sure the package filtering on the
> JSStageEvents is not excluding your renderers from having the simulated
> events being created.
>
>
>
>
>
>
>
>
>
>
>
> On Sun, Nov 21, 2021 at 11:51 AM Maria Jose Esteve 
> wrote:
>
> Hi, Is there any explanation for the fact that "[PostConstruct]" does not
> work in the itemrenderers?
>
>
>
> Thx.
>
> Hiedra
>
>


RE: [EXTERNAL] Re: Crux - ItemRenderer

2021-11-23 Thread Maria Jose Esteve
Hi guys,
Maybe we are missing something and, perhaps, it would be "interesting" to 
investigate a bit more "when we have time to dedicate to it".
First I want to say that "there was a time" when this was happening to me: crux 
did not work directly in a PopPup and I had to activate and deactivate it 
manually, as Brian says, BUT at a certain point "it started to work" and 
nowadays it still works for me ☹

I briefly describe the components and the calling method:


  *   Component to display in the PopUp (= SomePopupContent, from Brian's 
example):
 *   



 * 



 *   I define injections as follows:



   [Bindable]

   [Inject(source="shellModel", 
required="true")]

   public var shellModel:ShellModel;



   … source="shellModel", Corresponds to the localId of the model 
defined in the BeanProvider, inside App.mxml

   
   
   

   


  *   Example of Call (the view from where the call is made also has injected 
models)

private var popupAux:PopUp;
public function showPopUpForm():void
{
var contentPopup:PermissionsPopUp;
contentPopup = new PermissionsPopUp();
contentPopup.id = "vContentXX";
contentPopup.description = "Level: " + tCodigo.text + " - " 
+ tDescription.text;

if(_currentResponsiveSize == ResponsiveSizes.PHONE)
contentPopup.percentWidth = 80;
else
contentPopup.width = 500;
contentPopup.percentHeight = 80;
contentPopup.readOnly = (primaryModel.currentGrState != 
UtilConstants.GRSTATE_EDITING);
contentPopup.addEventListener("closePopUp", onPopUpClose);

if(!popupAux)
{
popupAux = new PopUp();
popupAux.modal = true;
popupAux.content = contentPopup;
addElement(popupAux);
}
else
{
popupAux.content = contentPopup;
}
}

if(!popupAux.open)
popupAux.open = true;
}

Why does it work? I don't know ☹... Roman could you compare this example with 
your completed code?

Hiedra
De: Brian Raymes 
Enviado el: lunes, 22 de noviembre de 2021 23:29
Para: users@royale.apache.org
Asunto: RE: [EXTERNAL] Re: Crux - ItemRenderer

To make Crux work within popups, simply dispatch the ADD_BEAN event for the 
content before opening it. For example:

var somePopupContent:SomePopupContent = new SomePopupContent();
dispatchEvent(new BeanEvent(BeanEvent.ADD_BEAN, somePopupContent));

var popup:PopUp = new PopUp();
popup.modal = true;
popup.content = somePopupContent;

addElement(popup);

popup.open = true;

Then, before closing, remove it:

dispatchEvent(new BeanEvent(BeanEvent.REMOVE_BEAN, this));
dispatchEvent(new Event('closePopUp'));

Hope this helps.

Brian


From: Roman Isitua mailto:romanisi...@gmail.com>>
Sent: Monday, November 22, 2021 12:33 PM
To: users@royale.apache.org<mailto:users@royale.apache.org>
Subject: [EXTERNAL] Re: Crux - ItemRenderer

I can confirm that crux setter injection does not work inside pop up. The work 
around I have come up with is to do the setter injection in the parent view 
then pass the variable to my pop.

By setter injection I mean,

 [Inject( source = "acctController.estateSearchList", bind = "true" )]
public function setEstateSearchList(val:ArrayList):void
{
 trace(" injected estateSearchList. hurray !! ");

this.estateSearchList = val;

trace(" estateSearchList has been set ! ");
}


However, I have noticed this style of injection works

  [Inject]
public var configData:ConfigData;


Regards,



On Sun, Nov 21, 2021 at 1:07 AM Greg Dove 
mailto:greg.d...@gmail.com>> wrote:
I can't say for certain Maria, because it's been some time since I used Crux.

Are your renderers in the main app, or are they in a popup? Crux may not work 
inside a popup, without some tweaking and tuning for JSStageEvents, iirc.

Beyond that I think Crux is not particularly suitable for ItemRenderers. At 
least I would personally try to avoid using it in this case, unless the 
renderer count is always relatively low.

One of th

RE: [EXTERNAL] Re: Crux - ItemRenderer

2021-11-22 Thread Brian Raymes
To make Crux work within popups, simply dispatch the ADD_BEAN event for the 
content before opening it. For example:

var somePopupContent:SomePopupContent = new SomePopupContent();
dispatchEvent(new BeanEvent(BeanEvent.ADD_BEAN, somePopupContent));

var popup:PopUp = new PopUp();
popup.modal = true;
popup.content = somePopupContent;

addElement(popup);

popup.open = true;

Then, before closing, remove it:

dispatchEvent(new BeanEvent(BeanEvent.REMOVE_BEAN, this));
dispatchEvent(new Event('closePopUp'));

Hope this helps.

Brian


From: Roman Isitua 
Sent: Monday, November 22, 2021 12:33 PM
To: users@royale.apache.org
Subject: [EXTERNAL] Re: Crux - ItemRenderer

I can confirm that crux setter injection does not work inside pop up. The work 
around I have come up with is to do the setter injection in the parent view 
then pass the variable to my pop.

By setter injection I mean,

 [Inject( source = "acctController.estateSearchList", bind = "true" )]
public function setEstateSearchList(val:ArrayList):void
{
 trace(" injected estateSearchList. hurray !! ");

this.estateSearchList = val;

trace(" estateSearchList has been set ! ");
}


However, I have noticed this style of injection works

  [Inject]
public var configData:ConfigData;


Regards,



On Sun, Nov 21, 2021 at 1:07 AM Greg Dove 
mailto:greg.d...@gmail.com>> wrote:
I can't say for certain Maria, because it's been some time since I used Crux.

Are your renderers in the main app, or are they in a popup? Crux may not work 
inside a popup, without some tweaking and tuning for JSStageEvents, iirc.

Beyond that I think Crux is not particularly suitable for ItemRenderers. At 
least I would personally try to avoid using it in this case, unless the 
renderer count is always relatively low.

One of the key differences between the JS implementation vs. the Flash 
implementation is when the bean setup is run to support processing the view. 
This is triggered by 'addedToStage' event, which does not have directly 
comparable support in the browser.
JSStageEvents bead creates a simulated 'addedToStage' event. But the way that 
works is asynchronous (delayed) compared to the way it works in flash (which is 
synchronous) as soon as the renderer is added to the stage. So that is one 
possible reason for things not working the same, because often the code that is 
creating the renderers is also explicitly running code in the newly created 
renderer instance (like setting data and possibly other calls). It might be 
doing this after it has been 'addedToStage' and there is no chance for the 
PostConstruct method to run first, because it would be delayed. But if 
PostConstruct is never running at all then it could be related to use in a 
Popup.
Another thing to check is to make sure the package filtering on the 
JSStageEvents is not excluding your renderers from having the simulated events 
being created.





On Sun, Nov 21, 2021 at 11:51 AM Maria Jose Esteve 
mailto:mjest...@iest.com>> wrote:
Hi, Is there any explanation for the fact that "[PostConstruct]" does not work 
in the itemrenderers?

Thx.
Hiedra