--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>The source code</title>
+ <link href="../prettify/prettify.css" type="text/css" rel="stylesheet" />
+ <script type="text/javascript" src="../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-plugin-HeaderReorderer'>/**
+</span> * @class Ext.grid.plugin.HeaderReorderer
+ * @extends Ext.util.Observable
+ * @private
+ */
+Ext.define('Ext.grid.plugin.HeaderReorderer', {
+ extend: 'Ext.util.Observable',
+ requires: ['Ext.grid.header.DragZone', 'Ext.grid.header.DropZone'],
+ alias: 'plugin.gridheaderreorderer',
+
+ init: function(headerCt) {
+ this.headerCt = headerCt;
+ headerCt.on('render', this.onHeaderCtRender, this);
+ },
+
+<span id='Ext-grid-plugin-HeaderReorderer-method-destroy'> /**
+</span> * @private
+ * AbstractComponent calls destroy on all its plugins at destroy time.
+ */
+ destroy: function() {
+ Ext.destroy(this.dragZone, this.dropZone);
+ },
+
+ onHeaderCtRender: function() {
+ this.dragZone = Ext.create('Ext.grid.header.DragZone', this.headerCt);
+ this.dropZone = Ext.create('Ext.grid.header.DropZone', this.headerCt);
+ if (this.disabled) {
+ this.dragZone.disable();
+ }
+ },
+
+ enable: function() {
+ this.disabled = false;
+ if (this.dragZone) {
+ this.dragZone.enable();
+ }
+ },
+
+ disable: function() {
+ this.disabled = true;
+ if (this.dragZone) {
+ this.dragZone.disable();
+ }
+ }
+});</pre>
+</body>
+</html>