Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / src / chart / MaskLayer.js
diff --git a/src/chart/MaskLayer.js b/src/chart/MaskLayer.js
new file mode 100644 (file)
index 0000000..f13f0c6
--- /dev/null
@@ -0,0 +1,45 @@
+Ext.define('Ext.chart.MaskLayer', {
+    extend: 'Ext.Component',
+    
+    constructor: function(config) {
+        config = Ext.apply(config || {}, {
+            style: 'position:absolute;background-color:#888;cursor:move;opacity:0.6;border:1px solid #222;'
+        });
+        this.callParent([config]);    
+    },
+    
+    initComponent: function() {
+        var me = this;
+        me.callParent(arguments);
+        me.addEvents(
+            'mousedown',
+            'mouseup',
+            'mousemove',
+            'mouseenter',
+            'mouseleave'
+        );
+    },
+
+    initDraggable: function() {
+        this.callParent(arguments);
+        this.dd.onStart = function (e) {
+            var me = this,
+                comp = me.comp;
+    
+            // Cache the start [X, Y] array
+            this.startPosition = comp.getPosition(true);
+    
+            // If client Component has a ghost method to show a lightweight version of itself
+            // then use that as a drag proxy unless configured to liveDrag.
+            if (comp.ghost && !comp.liveDrag) {
+                 me.proxy = comp.ghost();
+                 me.dragTarget = me.proxy.header.el;
+            }
+    
+            // Set the constrainTo Region before we start dragging.
+            if (me.constrain || me.constrainDelegate) {
+                me.constrainTo = me.calculateConstrainRegion();
+            }
+        };
+    }
+});
\ No newline at end of file