//////////////////////////////////////////////////////////////////////////////// // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// package mx.events { import flash.events.Event; import mx.controls.listClasses.IListItemRenderer; import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn; /** * The AdvancedDataGridEvent class represents event objects that are specific to * the AdvancedDataGrid control, such as the event that is dispatched when an * editable grid item gets the focus. * * @see mx.controls.AdvancedDataGrid * @see mx.events.AdvancedDataGridEventReason * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public class AdvancedDataGridEvent extends Event { include "../core/Version.as"; //-------------------------------------------------------------------------- // // Class constants // //-------------------------------------------------------------------------- /** * The AdvancedDataGridEvent.ITEM_CLOSE event type constant indicates that a AdvancedDataGrid * branch closed or collapsed. * *
The properties of the event object for this event type have the * following values. * Not all properties are meaningful for all kinds of events. * See the detailed property descriptions for more information.
* *Property | Value |
---|---|
bubbles | false |
cancelable | false |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | The name of the field or property in the data associated with the column. |
item | The AdvancedDataGrid item (node) that closed. |
itemRenderer |
* The ListItemRenderer for the node that closed. |
localX | NaN |
multiColumnSort | false |
removeColumnFromSort | false |
rowIndex | -1 |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.ITEM_CLOSE |
type
property of the event object for a
* itemEditBegin
event, which indicates that an
* item is ready to be edited.
*
* The default listener for this event performs the following actions:
* *createItemEditor()
method.data
property
* from the item to the editor. By default, the item editor object is an instance
* of the TextInput control. You use the itemEditor
property of the
* list control to specify a custom item editor class.itemEditorInstance
property of the list control
* to reference the item editor instance.You can write an event listener for this event to modify the data passed to * the item editor. For example, you might modify the data, its format, or other information * used by the item editor.
* *You can also create an event listener to specify the item editor used to * edit the item. For example, you might have two different item editors. * Within the event listener, you can examine the data to be edited or * other information, and open the appropriate item editor by doing the following:
* *preventDefault()
to stop Flex from calling
* the createItemEditor()
method as part
* of the default event listener.itemEditor
property to the appropriate editor.createItemEditor()
method.The properties of the event object have the following values:
* *Property | Value |
---|---|
bubbles | false |
cancelable | true |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | null |
item | The AdvancedDataGrid item (node). |
itemRenderer | The item renderer for the item * that is being edited. |
localX | NaN |
multiColumnSort | false |
reason | null |
removeColumnFromSort | false |
rowIndex | The zero-based index of the * item in the data provider. |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.ITEM_EDIT_BEGIN |
type
property of the event object for a
* itemEditEnd
event, which indicates that an edit
* session is ending.
*
* The list components have a default handler for this event that copies the data * from the item editor to the data provider of the list control. * The default event listener performs the following actions:
* *editorDataField
property of the AdvancedDataGridColumn
* associated with this event to
* determine the property of the item editor containing the new data and updates
* the data provider item with that new data.
* Since the default item editor is the TextInput control, the default value of the
* editorDataField
property
* is "text"
, to specify that the text
property of the
* TextInput contains the new item data.destroyItemEditor()
method to close the item editor.You typically write an event listener for this event to perform the following actions:
*itemEditEnd
event
* if you want to return multiple values.preventDefault()
method
* to stop Flex from passing the new data back to the list control and from closing
* the editor. The properties of the event object have the following values:
*Property | Value |
---|---|
bubbles | false |
cancelable | true |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | The name of the field or property in the * data associated with the item's column. |
item | The AdvancedDataGrid item (node) that closed. |
itemRenderer | The item renderer for the item * that is being edited. |
localX | NaN |
multiColumnSort | false |
reason | A constant defining the reason for the event.
* The value must be a member of the AdvancedDataGridEventReason class. |
removeColumnFromSort | false |
rowIndex | The zero-based index of the * item in the data provider. |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.ITEM_EDIT_END |
type
property of the event object for a
* itemFocusIn
event, which indicates that an
* item has received the focus.
*
* The properties of the event object have the following values:
*Property | Value |
---|---|
bubbles | false |
cancelable | false |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | null |
item | The AdvancedDataGrid item (node) that closed. |
itemRenderer | The item editor instance for the item * that is being edited. |
localX | NaN |
multiColumnSort | false |
reason | null |
removeColumnFromSort | false |
rowIndex | The zero-based index of the * item in the data provider. |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.ITEM_FOCUS_IN |
type
property of the event object for a
* itemFocusOut
event, which indicates that an
* item has lost the focus.
*
* The properties of the event object have the following values:
*Property | Value |
---|---|
bubbles | false |
cancelable | false |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | null |
item | The AdvancedDataGrid item (node) that closed. |
itemRenderer | The item editor instance for the item * that is being edited. |
localX | NaN |
multiColumnSort | false |
reason | null |
removeColumnFromSort | false |
rowIndex | The zero-based index of the * item in the data provider. |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.ITEM_FOCUS_OUT |
type
property of the event object for a
* itemEditBeginning
event, which indicates that the user has
* prepared to edit an item, for example, by releasing the mouse button
* over the item.
*
* The default listener for this event sets the AdvancedDataGrid.editedItemPosition
* property to the item that has focus, which starts the item editing session.
You typically write your own event listener for this event to
* disallow editing of a specific item or items.
* Calling the preventDefault()
method from within your own
* event listener for this event prevents the default listener from executing.
The properties of the event object have the following values:
*Property | Value |
---|---|
bubbles | false |
cancelable | true |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | The name of the field or property in the * data associated with the item's column. |
item | The AdvancedDataGrid item (node) that closed. |
itemRenderer | The item renderer for the item * that will be edited. This property is null if this event is * generated by keyboard, as the item to be edited may be off-screen. |
localX | NaN |
multiColumnSort | false |
reason | null |
removeColumnFromSort | false |
rowIndex | The zero-based index of the * item in the data provider. |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.ITEM_EDIT_BEGINNING |
The properties of the event object for this event type have the * following values. * Not all properties are meaningful for all kinds of events. * See the detailed property descriptions for more information.
* *Property | Value |
---|---|
bubbles | false |
cancelable | false |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
item | The AdvancedDataGrid node that opened. |
itemRenderer |
* The ListItemRenderer for the item (node) that opened. |
localX | NaN |
multiColumnSort | false |
removeColumnFromSort | false |
rowIndex | -1 |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the item (node) opened in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.ITEM_OPEN |
The properties of the event object for this event type have the * following values. * Not all properties are meaningful for all kinds of events. * See the detailed property descriptions for more information.
* *Property | Value |
---|---|
animate | Whether to animate the opening * or closing operation. |
bubbles | false |
cancelable | true |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event
* listener, myButton is the value of the currentTarget . |
dispatchEvent | Whether to dispatch an
* ITEM_OPEN or ITEM_CLOSE event
* after the open or close animation is complete. true |
item | The AdvancedDataGrid node that opened. |
itemRenderer |
* The ListItemRenderer for the item (node) that opened. |
localX | NaN |
multiColumnSort | false |
removeColumnFromSort | false |
rowIndex | -1 |
opening | true if the item is opening, false
* if it is closing. |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the item opened in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.ITEM_OPENING |
type
property of the event object for a
* columnStretch
event, which indicates that a
* user expanded a column horizontally.
* The properties of the event object have the following values:
* *Property | Value |
---|---|
bubbles | false |
cancelable | false |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | The name of the field or property in the * data associated with the column. |
item | The AdvancedDataGrid item (node) that closed. |
itemRenderer | null |
localX | The x position of the mouse. |
multiColumnSort | false |
reason | null |
removeColumnFromSort | false |
rowIndex | The zero-based index of the * item in the data provider. |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.COLUMN_STRETCH |
type
property of the event object for a
* headerDragOutside
event, which indicates that the
* user pressed and released the mouse on a column header.
*
* The properties of the event object have the following values:
*Property | Value |
---|---|
bubbles | false |
cancelable | true |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | The name of the field or property in the * data associated with the column. |
itemRenderer | The header renderer that is * being released. |
localX | NaN |
reason | null |
rowIndex | null |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
type | AdvancedDataGridEvent.HEADER_RELEASE |
type
property of the event object for a
* headerDropOutside
event.
*
* The properties of the event object have the following values:
*Property | Value |
---|---|
bubbles | false |
cancelable | true |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | The name of the field or property in the * data associated with the column. |
item | The AdvancedDataGrid item (node) that closed. |
itemRenderer | The header renderer that is * being released. |
localX | NaN |
multiColumnSort | false |
reason | null |
removeColumnFromSort | false |
rowIndex | null |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.HEADER_RELEASE |
type
property of the event object for a
* headerRelease
event, which indicates that the
* user pressed and released the mouse on a column header.
*
* The properties of the event object have the following values:
*Property | Value |
---|---|
bubbles | false |
cancelable | true |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | The name of the field or property in the * data associated with the column. |
item | The AdvancedDataGrid item (node) that closed. |
itemRenderer | The header renderer that is * being released. |
localX | NaN |
multiColumnSort | undefined - Use the sort event
* if you want to sort on multiple columns. |
reason | null |
removeColumnFromSort | false |
rowIndex | null |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.HEADER_RELEASE |
type
property of the event object for a
* sort
event.
* The AdvancedDataGrid control performs sorting based on the value of the
* dataField
and multiColumnSort
properties.
*
* The properties of the event object have the following values:
*Property | Value |
---|---|
bubbles | false |
cancelable | true |
columnIndex | The zero-based index of the
* item's column in the AdvancedDataGrid object's columns array. |
currentTarget | The Object that defines the
* event listener that handles the event. For example, if you use
* myButton.addEventListener() to register an event listener,
* myButton is the value of the currentTarget . |
dataField | The name of the field or property in the * data associated with the column. |
multiColumnSort | If true ,
* indicates that the new dataField property
* should be used along with whatever sorting
* is already in use, resulting in a multicolumn sort.
*
* If |
removeColumnFromSort | false |
target | The Object that dispatched the event;
* it is not always the Object listening for the event.
* Use the currentTarget property to always access the
* Object listening for the event. |
triggerEvent |
* If the node closed in response to a user action, * identifies it as a keyboard action or a mouse action. |
type | AdvancedDataGridEvent.SORT |
itemEditEnd
event.
*
* @param itemRenderer The item renderer that is being edited or the header renderer that
* was clicked.
*
* @param localX Column x position for replaying columnStretch
events.
*
* @param multiColumnSort Specifies a multicolumn sort.
*
* @param removeColumnFromSort Specifies to remove the column from the multicolumn sort.
*
* @param item Specifies the node
property. .
*
* @param triggerEvent The MouseEvent or KeyboardEvent that triggered this
* event or null
if this event was triggered programmatically.
*
* @param headerPart The part of the header that was clicked.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public function AdvancedDataGridEvent(type:String, bubbles:Boolean = false,
cancelable:Boolean = false,
columnIndex:int = -1,
dataField:String = null,
rowIndex:int = -1,
reason:String = null,
itemRenderer:IListItemRenderer = null,
localX:Number = NaN,
multiColumnSort:Boolean = false,
removeColumnFromSort:Boolean = false,
item:Object = null,
triggerEvent:Event = null,
headerPart:String = null)
{
super(type, bubbles, cancelable);
this.columnIndex = columnIndex;
this.dataField = dataField;
this.rowIndex = rowIndex;
this.reason = reason;
this.itemRenderer = itemRenderer;
this.localX = localX;
this.multiColumnSort = multiColumnSort;
this.removeColumnFromSort = removeColumnFromSort;
this.item = item;
this.triggerEvent = triggerEvent;
this.headerPart = headerPart;
}
//--------------------------------------------------------------------------
//
// Properties
//
//--------------------------------------------------------------------------
//----------------------------------
// animate
//----------------------------------
/**
* If true
, animate an opening or closing operation; used for
* ITEM_OPENING
type events only.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var animate:Boolean;
//----------------------------------
// columnIndex
//----------------------------------
/**
* The zero-based index in the AdvancedDataGrid object's columns
Array
* of the column associated with the event.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var columnIndex:int;
//----------------------------------
// dataField
//----------------------------------
/**
* The name of the field or property in the data associated with the column.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var dataField:String;
//----------------------------------
// dispatchEvent
//----------------------------------
/**
* Whether to dispatch an ITEM_OPEN
or
* ITEM_CLOSE
event after the open or close animation
* is complete. Used for ITEM_OPENING
events only.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var dispatchEvent:Boolean;
//----------------------------------
// item
//----------------------------------
/**
* Storage for the node
property.
* If you populate the AdvancedDataGrid control from XML data, access
* the label
and data
properties for
* the node
as
* event.node.attributes.label
and
* event.node.attributes.data
.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var item:Object;
//----------------------------------
// itemRenderer
//----------------------------------
/**
* The item renderer for the item that is being edited, or the header
* render that is being clicked or stretched.
* You can access the data provider by using this property.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var itemRenderer:IListItemRenderer;
//----------------------------------
// localX
//----------------------------------
/**
* The column's x-position, in pixels; used for replaying column stretch events.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var localX:Number;
//----------------------------------
// multiColumnSort
//----------------------------------
/**
* If true
, indicates that the new dataField
property
* should be used along with whatever sorting
* is already in use, resulting in a multicolumn sort.
*
* If false
, any sorting present should be removed,
* and a fresh sorting should be done for the new dataField
property.
true
, remove the column from the multicolumn sort.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var removeColumnFromSort:Boolean;
//----------------------------------
// opening
//----------------------------------
/**
* Indicates whether the item
* is opening true
, or closing false
.
* Used for an ITEM_OPENING
type events only.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var opening:Boolean;
//----------------------------------
// reason
//----------------------------------
/**
* The reason the itemEditEnd
event was dispatched.
* Valid only for events with type ITEM_EDIT_END
.
* The possible values are defined in the AdvancedDataGridEventReason class.
*
* @see AdvancedDataGridEventReason
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var reason:String;
//----------------------------------
// rowIndex
//----------------------------------
/**
* The zero-based index of the item in the data provider.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var rowIndex:int;
//----------------------------------
// triggerEvent
//----------------------------------
/**
* The MouseEvent object or KeyboardEvent object for the event that triggered this
* event, or null
if this event was triggered programmatically.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var triggerEvent:Event;
//----------------------------------
// parent
//----------------------------------
/**
* The AdvancedDataGridColumnGroup instance for the column that caused the event.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var column:AdvancedDataGridColumn;
//----------------------------------
// headerPart
//----------------------------------
/**
* If HEADER_RELEASE event, which part of the header was clicked.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var headerPart:String;
//--------------------------------------------------------------------------
//
// Overridden methods: Event
//
//--------------------------------------------------------------------------
/**
* @private
*/
override public function clone():Event
{
return new AdvancedDataGridEvent(type, bubbles, cancelable,
columnIndex, dataField, rowIndex,
reason, itemRenderer, localX,
multiColumnSort, removeColumnFromSort,
item, triggerEvent, headerPart);
}
}
}