flex-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maurice Amsellem (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLEX-34143) Give <fx:Binding /> an event handle.
Date Thu, 13 Mar 2014 20:55:42 GMT

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

Maurice Amsellem commented on FLEX-34143:
-----------------------------------------

However,  since fx:Binding is not really a tag, but a compiler construct, I have no idea how
it could be changed to address your change.

> Give <fx:Binding /> an event handle.
> ------------------------------------
>
>                 Key: FLEX-34143
>                 URL: https://issues.apache.org/jira/browse/FLEX-34143
>             Project: Apache Flex
>          Issue Type: Improvement
>          Components: Data Binding
>            Reporter: Gary Yang
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> 1st of all, Flex Binding is great!!!
> I am using it this way:
> >>>>>>>>>>>>>>>>>code>>>>>>>>>>>>
>  <fx:Script><![CDATA[
>         [Bindable("dataChange")]
>         public function get rowData():VLogicTreeGridRow{
>             return data as VLogicTreeGridRow;
>         }
>         private var _cellData:VLogicTreeGridCell;
>         [Bindable(event="cellDataChanged")]
>         public function get cellData():VLogicTreeGridCell{
>             return _cellData;
>         }
>         private function set rfrCellData( v:* ):void{
>             if( rowData != null
>                     && logicTreeGrid.columns != null && logicTreeGrid.columns.length
> 0
>                     && rowData.cellList != null && rowData.cellList.length
> 0
>                     ){
>                 var idx:int = logicTreeGrid.columns.getItemIndex( treeGridColLogic );
>                 var rt:VLogicTreeGridCell = rowData.cellList.getItemAt( idx ) as VLogicTreeGridCell;
>                 if( _cellData != rt ){
>                     _cellData = rt;
>                     dispatchEvent( new Event( "cellDataChanged" ) );
>                 }
>             }
>         }
>         ]]></fx:Script>
>     <ui:layout>
>         <s:HorizontalLayout paddingTop="2" paddingBottom="2" paddingLeft="2" paddingRight="2"/>
>     </ui:layout>
>     <fx:Binding source="logicTreeGrid.columns.length" destination="rfrCellData"/>
>     <fx:Binding source="rowData.cellList.length" destination="rfrCellData"/>
> <<<<<<<<<<<<<<<code<<<<<<<<<<<<
> Because the destination of Binding tag can only be setters, I have to use it this way
if I want to handle changes from the Binding sources,  do you think it's possible to add a
handle for Binding tag so that I can see exactly what event caused the change please?
> So that it can be like this
> >>>>>>>>>>>>>>>>>code>>>>>>>>>>>>
>         private function refreshCellData( ev:Event ):void{
>             if( ev is CollectionEvent ){
>                 
>             }
>             else if( ev is PropertyChangeEvent ){
>                 
>             }
>             if( rowData != null
>                     && logicTreeGrid.columns != null && logicTreeGrid.columns.length
> 0
>                     && rowData.cellList != null && rowData.cellList.length
> 0
>                     ){
>                 var idx:int = logicTreeGrid.columns.getItemIndex( treeGridColLogic );
>                 var rt:VLogicTreeGridCell = rowData.cellList.getItemAt( idx ) as VLogicTreeGridCell;
>                 if( _cellData != rt ){
>                     _cellData = rt;
>                     dispatchEvent( new Event( "cellDataChanged" ) );
>                 }
>             }
>         }
>         ]]></fx:Script>
>     <ui:layout>
>         <s:HorizontalLayout paddingTop="2" paddingBottom="2" paddingLeft="2" paddingRight="2"/>
>     </ui:layout>
>     <fx:Binding source="logicTreeGrid.columns.length" changeHandle="refreshCellData"/>
>     <fx:Binding source="rowData.cellList.length" changeHandle="refreshCellData"/>
> <<<<<<<<<<<<<<<code<<<<<<<<<<<<
> This is going to be very useful!!!



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message