myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "milan durovic (Commented) (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Commented] (TOMAHAWK-1610) schedule not reacting to mouseListener setting
Date Sun, 05 Feb 2012 11:19:53 GMT

    [ https://issues.apache.org/jira/browse/TOMAHAWK-1610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13200722#comment-13200722
] 

milan durovic commented on TOMAHAWK-1610:
-----------------------------------------

One more thing: while testing handling of SCHEDULE_ENTRY_CLICKED type of ScheduleMouseEvent
listener I noticed another anomaly: the schedule model's "selectedEntry" was updated *AFTER*
the event handler was invoked. I think this should be done BEFORE, so that model state is
up to date when the event handler is invoked. See this code section:

        case ScheduleMouseEvent.SCHEDULE_ENTRY_CLICKED:
        	clickedEntry = model.getSelectedEntry();
        	ScheduleEntry realOne = component.getSubmittedEntry();
        	log.warn( "Selected component: " + realOne.getTitle() );
            break;

the model.getSelectedEntry() call returns the entry that was selected when the PREVIOUS event
was handled. The UISchedule component, on the other hand, has the correct entry in getSubmittedEntry()
method.

I guess the simple fix for this is that the component updates the model's selected entry as
soon as possible, and definitely BEFORE calling even listeners.
                
> schedule not reacting to mouseListener setting
> ----------------------------------------------
>
>                 Key: TOMAHAWK-1610
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-1610
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: Schedule
>    Affects Versions: 1.1.11
>         Environment: myfaces 2.0, myfaces 2.1, tomcat 7.x, facelets, any OS
>            Reporter: milan durovic
>
> I'm trying to handle mouse click events over schedule entries in t:schedule
> Tomahawk component. In the page definition I have:
> <t:schedule value="#{allEvents.model}" id="myEvents" rendered="true" readonly="false"
theme="#{allEvents.theme}" tooltip="true" mouseListener="#{allEvents.clicked}" entryRenderer="#{allEvents.renderer}"
headerDateFormat="#{allEvents.headerDateFormat}" expandToFitEntries="true" splitWeekend="false"
/>
> and the method is defined as:
> public String clicked( ScheduleMouseEvent event ) { switch( event.getEventType() ) ...
> Originally, method "clicked" was void, but I changed this to returning String,
> after looking at the source code of the ScheduleTagHandler class,
> "createMetaRuleset" method.
> However, in either case, it doesn't work. "clicked" method never gets invoked,
> and in logs I can't find anything that would indicate if something was wrong.
> I was using MyFaces JSF 2.0, then upgraded to JSF 2.1 - no change. t:schedule
> component works in every aspect (i.e. displaying entries, asking for new entries
> when the model changes selectedDate etc etc) EXCEPT for capturing mouse clicks.
> This problem is present regardless of whether the component is used in facelets environment
or not.
> I started a thread with this question on myfaces users mailing list. It seems that org.apache.myfaces.custom.schedule.ScheduleTagHandler
defines "mouseListener" attribute handling, but it seems that in component definition for
org.apache.myfaces.UISchedule class "mouseListener" is replaced with "mouseListenerExpression"
> I'm not an expert in low level component wiring, but there seems to be some discrepancy
there.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message