| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 | 
							- <!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">/*
 
-  * This is a derivative of the similarly named class in the YUI Library.
 
-  * The original license:
 
-  * Copyright (c) 2006, Yahoo! Inc. All rights reserved.
 
-  * Code licensed under the BSD License:
 
-  * http://developer.yahoo.net/yui/license.txt
 
-  */
 
- <span id='Ext-dd-DDProxy'>/**
 
- </span> * A DragDrop implementation that inserts an empty, bordered div into
 
-  * the document that follows the cursor during drag operations.  At the time of
 
-  * the click, the frame div is resized to the dimensions of the linked html
 
-  * element, and moved to the exact location of the linked element.
 
-  *
 
-  * References to the "frame" element refer to the single proxy element that
 
-  * was created to be dragged in place of all DDProxy elements on the
 
-  * page.
 
-  */
 
- Ext.define('Ext.dd.DDProxy', {
 
-     extend: 'Ext.dd.DD',
 
-     statics: {
 
- <span id='Ext-dd-DDProxy-static-property-dragElId'>        /**
 
- </span>         * The default drag frame div id
 
-          * @static
 
-          */
 
-         dragElId: "ygddfdiv"
 
-     },
 
- <span id='Ext-dd-DDProxy-method-constructor'>    /**
 
- </span>     * Creates new DDProxy.
 
-      * @param {String} id the id of the linked html element
 
-      * @param {String} sGroup the group of related DragDrop objects
 
-      * @param {Object} config an object containing configurable attributes.
 
-      * Valid properties for DDProxy in addition to those in DragDrop:
 
-      * 
 
-      * - resizeFrame
 
-      * - centerFrame
 
-      * - dragElId
 
-      */
 
-     constructor: function(id, sGroup, config) {
 
-         if (id) {
 
-             this.init(id, sGroup, config);
 
-             this.initFrame();
 
-         }
 
-     },
 
- <span id='Ext-dd-DDProxy-property-resizeFrame'>    /**
 
- </span>     * @property {Boolean} resizeFrame
 
-      * By default we resize the drag frame to be the same size as the element
 
-      * we want to drag (this is to get the frame effect).  We can turn it off
 
-      * if we want a different behavior.
 
-      */
 
-     resizeFrame: true,
 
- <span id='Ext-dd-DDProxy-property-centerFrame'>    /**
 
- </span>     * @property {Boolean} centerFrame
 
-      * By default the frame is positioned exactly where the drag element is, so
 
-      * we use the cursor offset provided by Ext.dd.DD.  Another option that works only if
 
-      * you do not have constraints on the obj is to have the drag frame centered
 
-      * around the cursor.  Set centerFrame to true for this effect.
 
-      */
 
-     centerFrame: false,
 
- <span id='Ext-dd-DDProxy-method-createFrame'>    /**
 
- </span>     * Creates the proxy element if it does not yet exist
 
-      */
 
-     createFrame: function() {
 
-         var self = this,
 
-             body = document.body,
 
-             div,
 
-             s;
 
-         if (!body || !body.firstChild) {
 
-             setTimeout( function() { self.createFrame(); }, 50 );
 
-             return;
 
-         }
 
-         div = this.getDragEl();
 
-         if (!div) {
 
-             div    = document.createElement("div");
 
-             div.id = this.dragElId;
 
-             s  = div.style;
 
-             s.position   = "absolute";
 
-             s.visibility = "hidden";
 
-             s.cursor     = "move";
 
-             s.border     = "2px solid #aaa";
 
-             s.zIndex     = 999;
 
-             // appendChild can blow up IE if invoked prior to the window load event
 
-             // while rendering a table.  It is possible there are other scenarios
 
-             // that would cause this to happen as well.
 
-             body.insertBefore(div, body.firstChild);
 
-         }
 
-     },
 
- <span id='Ext-dd-DDProxy-method-initFrame'>    /**
 
- </span>     * Initialization for the drag frame element.  Must be called in the
 
-      * constructor of all subclasses
 
-      */
 
-     initFrame: function() {
 
-         this.createFrame();
 
-     },
 
-     applyConfig: function() {
 
-         this.callParent();
 
-         this.resizeFrame = (this.config.resizeFrame !== false);
 
-         this.centerFrame = (this.config.centerFrame);
 
-         this.setDragElId(this.config.dragElId || Ext.dd.DDProxy.dragElId);
 
-     },
 
- <span id='Ext-dd-DDProxy-method-showFrame'>    /**
 
- </span>     * Resizes the drag frame to the dimensions of the clicked object, positions
 
-      * it over the object, and finally displays it
 
-      * @param {Number} iPageX X click position
 
-      * @param {Number} iPageY Y click position
 
-      * @private
 
-      */
 
-     showFrame: function(iPageX, iPageY) {
 
-         var el = this.getEl(),
 
-             dragEl = this.getDragEl(),
 
-             s = dragEl.style;
 
-         this._resizeProxy();
 
-         if (this.centerFrame) {
 
-             this.setDelta( Math.round(parseInt(s.width,  10)/2),
 
-                            Math.round(parseInt(s.height, 10)/2) );
 
-         }
 
-         this.setDragElPos(iPageX, iPageY);
 
-         Ext.fly(dragEl).show();
 
-     },
 
- <span id='Ext-dd-DDProxy-method-_resizeProxy'>    /**
 
- </span>     * The proxy is automatically resized to the dimensions of the linked
 
-      * element when a drag is initiated, unless resizeFrame is set to false
 
-      * @private
 
-      */
 
-     _resizeProxy: function() {
 
-         if (this.resizeFrame) {
 
-             var el = this.getEl();
 
-             Ext.fly(this.getDragEl()).setSize(el.offsetWidth, el.offsetHeight);
 
-         }
 
-     },
 
-     // overrides Ext.dd.DragDrop
 
-     b4MouseDown: function(e) {
 
-         var x = e.getPageX(),
 
-             y = e.getPageY();
 
-         this.autoOffset(x, y);
 
-         this.setDragElPos(x, y);
 
-     },
 
-     // overrides Ext.dd.DragDrop
 
-     b4StartDrag: function(x, y) {
 
-         // show the drag frame
 
-         this.showFrame(x, y);
 
-     },
 
-     // overrides Ext.dd.DragDrop
 
-     b4EndDrag: function(e) {
 
-         Ext.fly(this.getDragEl()).hide();
 
-     },
 
-     // overrides Ext.dd.DragDrop
 
-     // By default we try to move the element to the last location of the frame.
 
-     // This is so that the default behavior mirrors that of Ext.dd.DD.
 
-     endDrag: function(e) {
 
-         var lel = this.getEl(),
 
-             del = this.getDragEl();
 
-         // Show the drag frame briefly so we can get its position
 
-         del.style.visibility = "";
 
-         this.beforeMove();
 
-         // Hide the linked element before the move to get around a Safari
 
-         // rendering bug.
 
-         lel.style.visibility = "hidden";
 
-         Ext.dd.DDM.moveToEl(lel, del);
 
-         del.style.visibility = "hidden";
 
-         lel.style.visibility = "";
 
-         this.afterDrag();
 
-     },
 
-     beforeMove : function(){
 
-     },
 
-     afterDrag : function(){
 
-     },
 
-     toString: function() {
 
-         return ("DDProxy " + this.id);
 
-     }
 
- });
 
- </pre>
 
- </body>
 
- </html>
 
 
  |