<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>The source code</title> <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="../resources/prettify/prettify.js"></script> <style type="text/css"> .highlight { display: block; background-color: #ddd; } </style> <script type="text/javascript"> function highlight() { document.getElementById(location.hash.replace(/#/, "")).className = "highlight"; } </script> </head> <body onload="prettyPrint(); highlight();"> <pre class="prettyprint lang-js"><span id='Ext-menu-CheckItem-method-constructor'><span id='Ext-menu-CheckItem'>/** </span></span> * @class Ext.menu.CheckItem * @extends Ext.menu.Item * Adds a menu item that contains a checkbox by default, but can also be part of a radio group. * @constructor * Creates a new CheckItem * @param {Object} config Configuration options * @xtype menucheckitem */ Ext.menu.CheckItem = Ext.extend(Ext.menu.Item, { <span id='Ext-menu-CheckItem-cfg-group'> /** </span> * @cfg {String} group * All check items with the same group name will automatically be grouped into a single-select * radio button group (defaults to '') */ <span id='Ext-menu-CheckItem-cfg-itemCls'> /** </span> * @cfg {String} itemCls The default CSS class to use for check items (defaults to "x-menu-item x-menu-check-item") */ itemCls : "x-menu-item x-menu-check-item", <span id='Ext-menu-CheckItem-cfg-groupClass'> /** </span> * @cfg {String} groupClass The default CSS class to use for radio group check items (defaults to "x-menu-group-item") */ groupClass : "x-menu-group-item", <span id='Ext-menu-CheckItem-cfg-checked'> /** </span> * @cfg {Boolean} checked True to initialize this checkbox as checked (defaults to false). Note that * if this checkbox is part of a radio group (group = true) only the first item in the group that is * initialized with checked = true will be rendered as checked. */ checked: false, <span id='Ext-menu-CheckItem-property-ctype'> // private </span> ctype: "Ext.menu.CheckItem", <span id='Ext-menu-CheckItem-method-initComponent'> initComponent : function(){ </span> Ext.menu.CheckItem.superclass.initComponent.call(this); this.addEvents( <span id='Ext-menu-CheckItem-event-beforecheckchange'> /** </span> * @event beforecheckchange * Fires before the checked value is set, providing an opportunity to cancel if needed * @param {Ext.menu.CheckItem} this * @param {Boolean} checked The new checked value that will be set */ "beforecheckchange" , <span id='Ext-menu-CheckItem-event-checkchange'> /** </span> * @event checkchange * Fires after the checked value has been set * @param {Ext.menu.CheckItem} this * @param {Boolean} checked The checked value that was set */ "checkchange" ); <span id='Ext-menu-CheckItem-method-checkHandler'> /** </span> * A function that handles the checkchange event. The function is undefined by default, but if an implementation * is provided, it will be called automatically when the checkchange event fires. * @param {Ext.menu.CheckItem} this * @param {Boolean} checked The checked value that was set * @method checkHandler */ if(this.checkHandler){ this.on('checkchange', this.checkHandler, this.scope); } Ext.menu.MenuMgr.registerCheckable(this); }, <span id='Ext-menu-CheckItem-method-onRender'> // private </span> onRender : function(c){ Ext.menu.CheckItem.superclass.onRender.apply(this, arguments); if(this.group){ this.el.addClass(this.groupClass); } if(this.checked){ this.checked = false; this.setChecked(true, true); } }, <span id='Ext-menu-CheckItem-method-destroy'> // private </span> destroy : function(){ Ext.menu.MenuMgr.unregisterCheckable(this); Ext.menu.CheckItem.superclass.destroy.apply(this, arguments); }, <span id='Ext-menu-CheckItem-method-setChecked'> /** </span> * Set the checked state of this item * @param {Boolean} checked The new checked value * @param {Boolean} suppressEvent (optional) True to prevent the checkchange event from firing (defaults to false) */ setChecked : function(state, suppressEvent){ var suppress = suppressEvent === true; if(this.checked != state && (suppress || this.fireEvent("beforecheckchange", this, state) !== false)){ Ext.menu.MenuMgr.onCheckChange(this, state); if(this.container){ this.container[state ? "addClass" : "removeClass"]("x-menu-item-checked"); } this.checked = state; if(!suppress){ this.fireEvent("checkchange", this, state); } } }, <span id='Ext-menu-CheckItem-method-handleClick'> // private </span> handleClick : function(e){ if(!this.disabled && !(this.checked && this.group)){// disable unselect on radio item this.setChecked(!this.checked); } Ext.menu.CheckItem.superclass.handleClick.apply(this, arguments); } }); Ext.reg('menucheckitem', Ext.menu.CheckItem);</pre> </body> </html>