PHP Classes

File: web/bundles/extjs/src/panel/Proxy.js

Recommend this page to a friend!
  Classes of william amed   Raptor 2   web/bundles/extjs/src/panel/Proxy.js   Download  
File: web/bundles/extjs/src/panel/Proxy.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Raptor 2
Framework that takes routes from annotations
Author: By
Last change:
Date: 8 years ago
Size: 4,379 bytes
 

Contents

Class file image Download
/* This file is part of Ext JS 4.2 Copyright (c) 2011-2013 Sencha Inc Contact: http://www.sencha.com/contact GNU General Public License Usage This file may be used under the terms of the GNU General Public License version 3.0 as published by the Free Software Foundation and appearing in the file LICENSE included in the packaging of this file. Please review the following information to ensure the GNU General Public License version 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html. If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. Build date: 2013-05-16 14:36:50 (f9be68accb407158ba2b1be2c226a6ce1f649314) */ /** * A custom drag proxy implementation specific to {@link Ext.panel.Panel}s. This class * is primarily used internally for the Panel's drag drop implementation, and * should never need to be created directly. * @private */ Ext.define('Ext.panel.Proxy', { alternateClassName: 'Ext.dd.PanelProxy', /** * @cfg {Boolean} [moveOnDrag=true] * True to move the panel to the dragged position when dropped */ moveOnDrag: true, /** * Creates new panel proxy. * @param {Ext.panel.Panel} panel The {@link Ext.panel.Panel} to proxy for * @param {Object} [config] Config object */ constructor: function(panel, config){ var me = this; /** * @property panel * @type Ext.panel.Panel */ me.panel = panel; me.id = me.panel.id +'-ddproxy'; Ext.apply(me, config); }, /** * @cfg {Boolean} insertProxy * True to insert a placeholder proxy element while dragging the panel, false to drag with no proxy. * Most Panels are not absolute positioned and therefore we need to reserve this space. */ insertProxy: true, // private overrides setStatus: Ext.emptyFn, reset: Ext.emptyFn, update: Ext.emptyFn, stop: Ext.emptyFn, sync: Ext.emptyFn, /** * Gets the proxy's element * @return {Ext.Element} The proxy's element */ getEl: function(){ return this.ghost.el; }, /** * Gets the proxy's ghost Panel * @return {Ext.panel.Panel} The proxy's ghost Panel */ getGhost: function(){ return this.ghost; }, /** * Gets the proxy element. This is the element that represents where the * Panel was before we started the drag operation. * @return {Ext.Element} The proxy's element */ getProxy: function(){ return this.proxy; }, /** * Hides the proxy */ hide : function(){ var me = this; if (me.ghost) { if (me.proxy) { me.proxy.remove(); delete me.proxy; } // Unghost the Panel, do not move the Panel to where the ghost was me.panel.unghost(null, me.moveOnDrag); delete me.ghost; } }, /** * Shows the proxy */ show: function(){ var me = this, panelSize; if (!me.ghost) { panelSize = me.panel.getSize(); me.panel.el.setVisibilityMode(Ext.Element.DISPLAY); me.ghost = me.panel.ghost(); if (me.insertProxy) { // bc Panels aren't absolute positioned we need to take up the space // of where the panel previously was me.proxy = me.panel.el.insertSibling({cls: Ext.baseCSSPrefix + 'panel-dd-spacer'}); me.proxy.setSize(panelSize); } } }, // private repair: function(xy, callback, scope) { this.hide(); Ext.callback(callback, scope || this); }, /** * Moves the proxy to a different position in the DOM. This is typically * called while dragging the Panel to keep the proxy sync'd to the Panel's * location. * @param {HTMLElement} parentNode The proxy's parent DOM node * @param {HTMLElement} [before] The sibling node before which the * proxy should be inserted. Defaults to the parent's last child if not * specified. */ moveProxy : function(parentNode, before){ if (this.proxy) { parentNode.insertBefore(this.proxy.dom, before); } } });