You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@royale.apache.org by Mark <m_...@comcast.net> on 2022/03/19 14:07:30 UTC

Really need some help here

I’m having a hard time understanding why these eventHandlers will not respond.
I must be missing something very fundamental here.
I’m using Moonshine 3.3.1

I’ve attached the project.
Any help would be greatly appreciated .

This is a very simple app
Heading - button that dispatches a LOGON_REQUESTED event.
All these have a listner with an alert but do not respond.
AppContent  listner for LOGON_REQUESTED event
UserController  listner for LOGON_REQUESTED event
Testing.mxml listner for LOGON_REQUESTED event


Re: Really need some help here

Posted by Mark <m_...@comcast.net>.
One correction on that – none of the handlers are responding. the Alert widows appearing are saying a button was clicked.
This has to be an easy fix, or a basic misunderstanding , I just don’t see it.

From: Mark 
Sent: Sunday, March 20, 2022 2:38 PM
To: users@royale.apache.org 
Subject: Re: Really need some help here

Hi Maria, thanks for the response.
That code was after a long frustrating day, 
I included the MVC  just to see if anything responded. 


Here’s what I have been working on.  My problem is with object to object communication. You can check it out here.
http://www.rootmodelsolutions.com/ARootModelJS/index.html

I thought that the [EventHandler] metatag will automatically be added to a crux event list and then automatically respond to the object using the defined method. I seem to be getting couple weird behaviors I can’t track down. Maybe something in my initial setup – missing containerbinding.  

Thanks for looking.

I’ve included my project. You can see it’s simple basic code.


The Header has 1 listner that should listen to itself for the break reminder but it does not respond – it should dispatch 2 events sleep and break.
  [Bindable]
            
    [EventHandler( event="UserEvent.BREAK.REMINDER")]
            public function handleBreakEvent( event:UserEvent ):void
            {  
                Alert.show( 'appHeader catch', 'Success' );
            } 
                       
             public function breakClick():void 
             {                
                var event:UserEvent= new UserEvent( UserEvent.BREAK_REMINDER );
                event.user = new User();
                event.bubbles = true;
                this.dispatchEvent(event);
            }    
            public function sleepClick():void 
             {                
                var event:UserEvent= new UserEvent( UserEvent.SLEEP_REMINDER );
                event.user = new User();
                event.bubbles = true;
                this.dispatchEvent(event);
           }

the HomeLeftSide has a break  and sleep and both work. however the alerts just before dispatching the events don’t. The Listener for AppHeader should have caught this as well but didn’t.
[Bindable]
            [EventHandler( event="UserEvent.BREAK_REMINDER")]
            public function handleLogonEvent( event:UserEvent ):void
            {  
                Alert.show( 'Break Reminder', 'Success' );
            } 
            
            [Bindable]
            [EventHandler( event="UserEvent.SLEEP_REMINDER")]
            public function handleSleepEvent( event:UserEvent ):void
            {  
                Alert.show( 'Sleep Reminder', 'Success' );
            } 
            
             public function sleepClick():void {
                Alert.show( 'Button Clicked', 'Success' ); <<<< doesn’t open
                var event:UserEvent= new UserEvent( UserEvent.BREAK_REMINDER );
                event.bubbles = true;
                this.dispatchEvent(event);
            }
            
             public function breakClick():void {
                Alert.show( 'Break Clicked', 'Success' ); <<<< doesn’t open
                var event:UserEvent= new UserEvent( UserEvent.BREAK_REMINDER );
                event.bubbles = true;
                this.dispatchEvent(event);
            }

The HomeMainFrame just has 2 listeners. – Neither of them catch the dispathes from the header or the HomeLeftSide 

[Bindable]
            [EventHandler( event="UserEvent.SLEEP_BREAK")]
            public function handleSleepEvent( event:UserEvent ):void
            {  
                Alert.show( 'Sleep Event from HMF', 'Success' );
            } 
             [Bindable]
            [EventHandler( event="UserEvent.BREAK_REMINDER")]
            public function handleBreakEvent( event:UserEvent ):void
            {  
                Alert.show( 'Break Event from HMF ', 'Success' );
            } 
From: Maria Jose Esteve 
Sent: Sunday, March 20, 2022 12:15 PM
To: users@royale.apache.org 
Subject: RE: Really need some help here

Hi,

I can't help you with the configuration with Moonshine but I've done some tests...

 

- I compiled the project with asconfigc and it gives an error in UserEvent. It must extend from "org.apache.royale.events.Event", you are missing the import.

- I think you have a misconception... in the mvc pattern: the view should not be the destination of a call to an event that is directed to the controller. If you want the view to act on the result of a call to the controller you will have to bind the model and act on its changes.

 

VIEW à CONTROLLER à MODEL à VIEW

 

The view is not going to hear from the view dispatcher to the controller.

 

- In Testing.mxml, when configuring crux you must indicate the "views", you have only defined the events:

 

<crux:CruxConfig

                    eventPackages="code.event.*"/>

 

- You also have to pay attention and put the correct bead "binding" to each container... In the xml Application the correct bead is "ApplicationDataBinding" and not "ConainerDataBinding".

- I see that you are relying on the crux basic example,..., maybe you should check also todomvc-jewel-crux. It will help you to understand a little better the mvc pattern.

 

Hiedra

 

De: Mark <m_...@comcast.net> 
Enviado el: sábado, 19 de marzo de 2022 15:08
Para: users@royale.apache.org
Asunto: Really need some help here

 

I’m having a hard time understanding why these eventHandlers will not respond.

I must be missing something very fundamental here.

I’m using Moonshine 3.3.1

 

I’ve attached the project.

Any help would be greatly appreciated .

 

This is a very simple app

Heading - button that dispatches a LOGON_REQUESTED event.

All these have a listner with an alert but do not respond.

AppContent  listner for LOGON_REQUESTED event

UserController  listner for LOGON_REQUESTED event

Testing.mxml listner for LOGON_REQUESTED event

 

 

Re: Really need some help here

Posted by Mark <m_...@comcast.net>.
Hi Maria, thanks for the response.
That code was after a long frustrating day, 
I included the MVC  just to see if anything responded. 


Here’s what I have been working on.  My problem is with object to object communication. You can check it out here.
http://www.rootmodelsolutions.com/ARootModelJS/index.html

I thought that the [EventHandler] metatag will automatically be added to a crux event list and then automatically respond to the object using the defined method. I seem to be getting couple weird behaviors I can’t track down. Maybe something in my initial setup – missing containerbinding.  

Thanks for looking.

I’ve included my project. You can see it’s simple basic code.


The Header has 1 listner that should listen to itself for the break reminder but it does not respond – it should dispatch 2 events sleep and break.
  [Bindable]
            
    [EventHandler( event="UserEvent.BREAK.REMINDER")]
            public function handleBreakEvent( event:UserEvent ):void
            {  
                Alert.show( 'appHeader catch', 'Success' );
            } 
                       
             public function breakClick():void 
             {                
                var event:UserEvent= new UserEvent( UserEvent.BREAK_REMINDER );
                event.user = new User();
                event.bubbles = true;
                this.dispatchEvent(event);
            }    
            public function sleepClick():void 
             {                
                var event:UserEvent= new UserEvent( UserEvent.SLEEP_REMINDER );
                event.user = new User();
                event.bubbles = true;
                this.dispatchEvent(event);
           }

the HomeLeftSide has a break  and sleep and both work. however the alerts just before dispatching the events don’t. The Listener for AppHeader should have caught this as well but didn’t.
[Bindable]
            [EventHandler( event="UserEvent.BREAK_REMINDER")]
            public function handleLogonEvent( event:UserEvent ):void
            {  
                Alert.show( 'Break Reminder', 'Success' );
            } 
            
            [Bindable]
            [EventHandler( event="UserEvent.SLEEP_REMINDER")]
            public function handleSleepEvent( event:UserEvent ):void
            {  
                Alert.show( 'Sleep Reminder', 'Success' );
            } 
            
             public function sleepClick():void {
                Alert.show( 'Button Clicked', 'Success' ); <<<< doesn’t open
                var event:UserEvent= new UserEvent( UserEvent.BREAK_REMINDER );
                event.bubbles = true;
                this.dispatchEvent(event);
            }
            
             public function breakClick():void {
                Alert.show( 'Break Clicked', 'Success' ); <<<< doesn’t open
                var event:UserEvent= new UserEvent( UserEvent.BREAK_REMINDER );
                event.bubbles = true;
                this.dispatchEvent(event);
            }

The HomeMainFrame just has 2 listeners. – Neither of them catch the dispathes from the header or the HomeLeftSide 

[Bindable]
            [EventHandler( event="UserEvent.SLEEP_BREAK")]
            public function handleSleepEvent( event:UserEvent ):void
            {  
                Alert.show( 'Sleep Event from HMF', 'Success' );
            } 
             [Bindable]
            [EventHandler( event="UserEvent.BREAK_REMINDER")]
            public function handleBreakEvent( event:UserEvent ):void
            {  
                Alert.show( 'Break Event from HMF ', 'Success' );
            } 
From: Maria Jose Esteve 
Sent: Sunday, March 20, 2022 12:15 PM
To: users@royale.apache.org 
Subject: RE: Really need some help here

Hi,

I can't help you with the configuration with Moonshine but I've done some tests...

 

- I compiled the project with asconfigc and it gives an error in UserEvent. It must extend from "org.apache.royale.events.Event", you are missing the import.

- I think you have a misconception... in the mvc pattern: the view should not be the destination of a call to an event that is directed to the controller. If you want the view to act on the result of a call to the controller you will have to bind the model and act on its changes.

 

VIEW à CONTROLLER à MODEL à VIEW

 

The view is not going to hear from the view dispatcher to the controller.

 

- In Testing.mxml, when configuring crux you must indicate the "views", you have only defined the events:

 

<crux:CruxConfig

                    eventPackages="code.event.*"/>

 

- You also have to pay attention and put the correct bead "binding" to each container... In the xml Application the correct bead is "ApplicationDataBinding" and not "ConainerDataBinding".

- I see that you are relying on the crux basic example,..., maybe you should check also todomvc-jewel-crux. It will help you to understand a little better the mvc pattern.

 

Hiedra

 

De: Mark <m_...@comcast.net> 
Enviado el: sábado, 19 de marzo de 2022 15:08
Para: users@royale.apache.org
Asunto: Really need some help here

 

I’m having a hard time understanding why these eventHandlers will not respond.

I must be missing something very fundamental here.

I’m using Moonshine 3.3.1

 

I’ve attached the project.

Any help would be greatly appreciated .

 

This is a very simple app

Heading - button that dispatches a LOGON_REQUESTED event.

All these have a listner with an alert but do not respond.

AppContent  listner for LOGON_REQUESTED event

UserController  listner for LOGON_REQUESTED event

Testing.mxml listner for LOGON_REQUESTED event

 

 

RE: Really need some help here

Posted by Maria Jose Esteve <mj...@iest.com>.
Hi,
I can't help you with the configuration with Moonshine but I've done some tests...

- I compiled the project with asconfigc and it gives an error in UserEvent. It must extend from "org.apache.royale.events.Event", you are missing the import.
- I think you have a misconception... in the mvc pattern: the view should not be the destination of a call to an event that is directed to the controller. If you want the view to act on the result of a call to the controller you will have to bind the model and act on its changes.

VIEW --> CONTROLLER --> MODEL --> VIEW

The view is not going to hear from the view dispatcher to the controller.

- In Testing.mxml, when configuring crux you must indicate the "views", you have only defined the events:

<crux:CruxConfig
                    eventPackages="code.event.*"/>

- You also have to pay attention and put the correct bead "binding" to each container... In the xml Application the correct bead is "ApplicationDataBinding" and not "ConainerDataBinding".
- I see that you are relying on the crux basic example,..., maybe you should check also todomvc-jewel-crux. It will help you to understand a little better the mvc pattern.

Hiedra

De: Mark <m_...@comcast.net>
Enviado el: sábado, 19 de marzo de 2022 15:08
Para: users@royale.apache.org
Asunto: Really need some help here

I’m having a hard time understanding why these eventHandlers will not respond.
I must be missing something very fundamental here.
I’m using Moonshine 3.3.1

I’ve attached the project.
Any help would be greatly appreciated .

This is a very simple app
Heading - button that dispatches a LOGON_REQUESTED event.
All these have a listner with an alert but do not respond.
AppContent  listner for LOGON_REQUESTED event
UserController  listner for LOGON_REQUESTED event
Testing.mxml listner for LOGON_REQUESTED event