X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..10a866c12701c0a0afd0ac85dcdcf32a421514ac:/docs/source/BaseItem.html
diff --git a/docs/source/BaseItem.html b/docs/source/BaseItem.html
index 266b2f56..8e11eb56 100644
--- a/docs/source/BaseItem.html
+++ b/docs/source/BaseItem.html
@@ -1,5 +1,6 @@
+
The source code
@@ -15,37 +16,7 @@
* @param {Object} config Configuration options
* @xtype menubaseitem
*/
-Ext.menu.BaseItem = function(config){
- Ext.menu.BaseItem.superclass.constructor.call(this, config);
-
- this.addEvents(
- /**
- * @event click
- * Fires when this item is clicked
- * @param {Ext.menu.BaseItem} this
- * @param {Ext.EventObject} e
- */
- 'click',
- /**
- * @event activate
- * Fires when this item is activated
- * @param {Ext.menu.BaseItem} this
- */
- 'activate',
- /**
- * @event deactivate
- * Fires when this item is deactivated
- * @param {Ext.menu.BaseItem} this
- */
- 'deactivate'
- );
-
- if(this.handler){
- this.on("click", this.handler, this.scope);
- }
-};
-
-Ext.extend(Ext.menu.BaseItem, Ext.Component, {
+Ext.menu.BaseItem = Ext.extend(Ext.Component, {
/**
* @property parentMenu
* @type Ext.menu.Menu
@@ -85,6 +56,34 @@ Ext.extend(Ext.menu.BaseItem, Ext.Component, {
// private
actionMode : "container",
+
+ initComponent : function(){
+ Ext.menu.BaseItem.superclass.initComponent.call(this);
+ this.addEvents(
+ /**
+ * @event click
+ * Fires when this item is clicked
+ * @param {Ext.menu.BaseItem} this
+ * @param {Ext.EventObject} e
+ */
+ 'click',
+ /**
+ * @event activate
+ * Fires when this item is activated
+ * @param {Ext.menu.BaseItem} this
+ */
+ 'activate',
+ /**
+ * @event deactivate
+ * Fires when this item is deactivated
+ * @param {Ext.menu.BaseItem} this
+ */
+ 'deactivate'
+ );
+ if(this.handler){
+ this.on("click", this.handler, this.scope);
+ }
+ },
// private
onRender : function(container, position){
@@ -93,9 +92,12 @@ Ext.extend(Ext.menu.BaseItem, Ext.Component, {
this.parentMenu = this.ownerCt;
}else{
this.container.addClass('x-menu-list-item');
- this.mon(this.el, 'click', this.onClick, this);
- this.mon(this.el, 'mouseenter', this.activate, this);
- this.mon(this.el, 'mouseleave', this.deactivate, this);
+ this.mon(this.el, {
+ scope: this,
+ click: this.onClick,
+ mouseenter: this.activate,
+ mouseleave: this.deactivate
+ });
}
},
@@ -103,7 +105,7 @@ Ext.extend(Ext.menu.BaseItem, Ext.Component, {
* Sets the function that will handle click events for this item (equivalent to passing in the {@link #handler}
* config property). If an existing handler is already registered, it will be unregistered for you.
* @param {Function} handler The function that should be called on click
- * @param {Object} scope The scope that should be passed to the handler
+ * @param {Object} scope The scope (this
reference) in which the handler function is executed. Defaults to this menu item.
*/
setHandler : function(handler, scope){
if(this.handler){
@@ -147,8 +149,13 @@ Ext.extend(Ext.menu.BaseItem, Ext.Component, {
// private
handleClick : function(e){
+ var pm = this.parentMenu;
if(this.hideOnClick){
- this.parentMenu.hide.defer(this.clickHideDelay, this.parentMenu, [true]);
+ if(pm.floating){
+ pm.hide.defer(this.clickHideDelay, pm, [true]);
+ }else{
+ pm.deactivateActive();
+ }
}
},