| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 | 
							- <!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-grid-feature-Feature'>/**
 
- </span> * A feature is a type of plugin that is specific to the {@link Ext.grid.Panel}. It provides several
 
-  * hooks that allows the developer to inject additional functionality at certain points throughout the 
 
-  * grid creation cycle. This class provides the base template methods that are available to the developer,
 
-  * it should be extended.
 
-  * 
 
-  * There are several built in features that extend this class, for example:
 
-  *
 
-  *  - {@link Ext.grid.feature.Grouping} - Shows grid rows in groups as specified by the {@link Ext.data.Store}
 
-  *  - {@link Ext.grid.feature.RowBody} - Adds a body section for each grid row that can contain markup.
 
-  *  - {@link Ext.grid.feature.Summary} - Adds a summary row at the bottom of the grid with aggregate totals for a column.
 
-  * 
 
-  * ## Using Features
 
-  * A feature is added to the grid by specifying it an array of features in the configuration:
 
-  * 
 
-  *     var groupingFeature = Ext.create('Ext.grid.feature.Grouping');
 
-  *     Ext.create('Ext.grid.Panel', {
 
-  *         // other options
 
-  *         features: [groupingFeature]
 
-  *     });
 
-  * 
 
-  * @abstract
 
-  */
 
- Ext.define('Ext.grid.feature.Feature', {
 
-     extend: 'Ext.util.Observable',
 
-     alias: 'feature.feature',
 
-     /*
 
-      * @property {Boolean} isFeature
 
-      * `true` in this class to identify an object as an instantiated Feature, or subclass thereof.
 
-      */
 
-     isFeature: true,
 
- <span id='Ext-grid-feature-Feature-property-disabled'>    /**
 
- </span>     * True when feature is disabled.
 
-      */
 
-     disabled: false,
 
- <span id='Ext-grid-feature-Feature-property-hasFeatureEvent'>    /**
 
- </span>     * @property {Boolean}
 
-      * Most features will expose additional events, some may not and will
 
-      * need to change this to false.
 
-      */
 
-     hasFeatureEvent: true,
 
- <span id='Ext-grid-feature-Feature-property-eventPrefix'>    /**
 
- </span>     * @property {String}
 
-      * Prefix to use when firing events on the view.
 
-      * For example a prefix of group would expose "groupclick", "groupcontextmenu", "groupdblclick".
 
-      */
 
-     eventPrefix: null,
 
- <span id='Ext-grid-feature-Feature-property-eventSelector'>    /**
 
- </span>     * @property {String}
 
-      * Selector used to determine when to fire the event with the eventPrefix.
 
-      */
 
-     eventSelector: null,
 
- <span id='Ext-grid-feature-Feature-property-view'>    /**
 
- </span>     * @property {Ext.view.Table}
 
-      * Reference to the TableView.
 
-      */
 
-     view: null,
 
- <span id='Ext-grid-feature-Feature-property-grid'>    /**
 
- </span>     * @property {Ext.grid.Panel}
 
-      * Reference to the grid panel
 
-      */
 
-     grid: null,
 
- <span id='Ext-grid-feature-Feature-property-collectData'>    /**
 
- </span>     * Most features will not modify the data returned to the view.
 
-      * This is limited to one feature that manipulates the data per grid view.
 
-      */
 
-     collectData: false,
 
-     
 
-     constructor: function(config) {
 
-         this.initialConfig = config;
 
-         this.callParent(arguments);
 
-     },
 
-     clone: function() {
 
-         return new this.self(this.initialConfig);
 
-     },
 
-     init: Ext.emptyFn,
 
-     getFeatureTpl: function() {
 
-         return '';
 
-     },
 
- <span id='Ext-grid-feature-Feature-method-getFireEventArgs'>    /**
 
- </span>     * Abstract method to be overriden when a feature should add additional
 
-      * arguments to its event signature. By default the event will fire:
 
-      *
 
-      * - view - The underlying Ext.view.Table
 
-      * - featureTarget - The matched element by the defined {@link #eventSelector}
 
-      *
 
-      * The method must also return the eventName as the first index of the array
 
-      * to be passed to fireEvent.
 
-      * @template
 
-      */
 
-     getFireEventArgs: function(eventName, view, featureTarget, e) {
 
-         return [eventName, view, featureTarget, e];
 
-     },
 
- <span id='Ext-grid-feature-Feature-method-attachEvents'>    /**
 
- </span>     * Approriate place to attach events to the view, selectionmodel, headerCt, etc
 
-      * @template
 
-      */
 
-     attachEvents: function() {
 
-     },
 
-     getFragmentTpl: Ext.emptyFn,
 
- <span id='Ext-grid-feature-Feature-method-mutateMetaRowTpl'>    /**
 
- </span>     * Allows a feature to mutate the metaRowTpl.
 
-      * The array received as a single argument can be manipulated to add things
 
-      * on the end/begining of a particular row.
 
-      * @param {Array} metaRowTplArray A String array to be used constructing an {@link Ext.XTemplate XTemplate}
 
-      * to render the rows. This Array may be changed to provide extra DOM structure.
 
-      * @template
 
-      */
 
-     mutateMetaRowTpl: Ext.emptyFn,
 
- <span id='Ext-grid-feature-Feature-method-getMetaRowTplFragments'>    /**
 
- </span>     * Allows a feature to inject member methods into the metaRowTpl. This is
 
-      * important for embedding functionality which will become part of the proper
 
-      * row tpl.
 
-      * @template
 
-      */
 
-     getMetaRowTplFragments: function() {
 
-         return {};
 
-     },
 
-     getTableFragments: function() {
 
-         return {};
 
-     },
 
- <span id='Ext-grid-feature-Feature-method-getAdditionalData'>    /**
 
- </span>     * Provide additional data to the prepareData call within the grid view.
 
-      * @param {Object} data The data for this particular record.
 
-      * @param {Number} idx The row index for this record.
 
-      * @param {Ext.data.Model} record The record instance
 
-      * @param {Object} orig The original result from the prepareData call to massage.
 
-      * @template
 
-      */
 
-     getAdditionalData: function(data, idx, record, orig) {
 
-         return {};
 
-     },
 
- <span id='Ext-grid-feature-Feature-method-enable'>    /**
 
- </span>     * Enables the feature.
 
-      */
 
-     enable: function() {
 
-         this.disabled = false;
 
-     },
 
- <span id='Ext-grid-feature-Feature-method-disable'>    /**
 
- </span>     * Disables the feature.
 
-      */
 
-     disable: function() {
 
-         this.disabled = true;
 
-     }
 
- });</pre>
 
- </body>
 
- </html>
 
 
  |