| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | 
							- <!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-ux-PreviewPlugin'>/**
 
- </span> * @class Ext.ux.PreviewPlugin
 
-  * @extends Ext.AbstractPlugin
 
-  *
 
-  * The Preview enables you to show a configurable preview of a record.
 
-  *
 
-  * This plugin assumes that it has control over the features used for this
 
-  * particular grid section and may conflict with other plugins.
 
-  * 
 
-  * @alias plugin.preview
 
-  * @ptype preview
 
-  */
 
- Ext.define('Ext.ux.PreviewPlugin', {
 
-     extend: 'Ext.AbstractPlugin',
 
-     alias: 'plugin.preview',
 
-     requires: ['Ext.grid.feature.RowBody', 'Ext.grid.feature.RowWrap'],
 
-     
 
-     // private, css class to use to hide the body
 
-     hideBodyCls: 'x-grid-row-body-hidden',
 
-     
 
- <span id='Ext-ux-PreviewPlugin-cfg-bodyField'>    /**
 
- </span>     * @cfg {String} bodyField
 
-      * Field to display in the preview. Must be a field within the Model definition
 
-      * that the store is using.
 
-      */
 
-     bodyField: '',
 
-     
 
- <span id='Ext-ux-PreviewPlugin-cfg-previewExpanded'>    /**
 
- </span>     * @cfg {Boolean} previewExpanded
 
-      */
 
-     previewExpanded: true,
 
-     
 
-     constructor: function(config) {
 
-         this.callParent(arguments);
 
-         var bodyField   = this.bodyField,
 
-             hideBodyCls = this.hideBodyCls,
 
-             section     = this.getCmp(),
 
-             features = [{
 
-                 ftype: 'rowbody',
 
-                 getAdditionalData: function(data, idx, record, orig, view) {
 
-                     var o = Ext.grid.feature.RowBody.prototype.getAdditionalData.apply(this, arguments);
 
-                     Ext.apply(o, {
 
-                         rowBody: data[bodyField],
 
-                         rowBodyCls: section.previewExpanded ? '' : hideBodyCls
 
-                     });
 
-                     return o;
 
-                 }
 
-             },{
 
-                 ftype: 'rowwrap'
 
-             }];
 
-         
 
-         section.previewExpanded = this.previewExpanded;
 
-         if (!section.features) {
 
-             section.features = [];
 
-         }
 
-         section.features = features.concat(section.features);
 
-     },
 
-     
 
- <span id='Ext-ux-PreviewPlugin-method-toggleExpanded'>    /**
 
- </span>     * Toggle between the preview being expanded/hidden
 
-      * @param {Boolean} expanded Pass true to expand the record and false to not show the preview.
 
-      */
 
-     toggleExpanded: function(expanded) {
 
-         var view = this.getCmp();
 
-         this.previewExpanded = view.previewExpanded = expanded;
 
-         view.refresh();
 
-     }
 
- });</pre>
 
- </body>
 
- </html>
 
 
  |