+++ /dev/null
-<html><head><title>/home/alan/gitlive/roojs1/Roo/dd/StatusProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
- * Based on:
- * Ext JS Library 1.1.1
- * Copyright(c) 2006-2007, Ext JS, LLC.
- *
- * Originally Released Under LGPL - original licence link has changed is not relivant.
- *
- * Fork - LGPL
- * <script type="text/javascript">
- */
-
-
-/**
- * @class Roo.dd.StatusProxy
- * A specialized drag proxy that supports a drop status icon, {@link Roo.Layer} styles and auto-repair. This is the
- * default drag proxy used by all Roo.dd components.
- * @constructor
- * @param {Object} config
- */
-</span><span class="jsdoc-var">Roo.dd.StatusProxy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Roo.id</span><span class="jsdoc-syntax">();
- </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Layer</span><span class="jsdoc-syntax">({
- </span><span class="jsdoc-var">dh</span><span class="jsdoc-syntax">: {
- </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-dd-drag-proxy "</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.dropNotAllowed</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">children</span><span class="jsdoc-syntax">: [
- {</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-dd-drop-icon"</span><span class="jsdoc-syntax">},
- {</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-dd-drag-ghost"</span><span class="jsdoc-syntax">}
- ]
- },
- </span><span class="jsdoc-var">shadow</span><span class="jsdoc-syntax">: !</span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">config.shadow </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false
- </span><span class="jsdoc-syntax">});
- </span><span class="jsdoc-var">this.ghost </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom.childNodes</span><span class="jsdoc-syntax">[1]);
- </span><span class="jsdoc-var">this.dropStatus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dropNotAllowed</span><span class="jsdoc-syntax">;
-};
-
-</span><span class="jsdoc-var">Roo.dd.StatusProxy.prototype </span><span class="jsdoc-syntax">= {
- </span><span class="jsdoc-comment">/**
- * @cfg {String} dropAllowed
- * The CSS class to apply to the status element when drop is allowed (defaults to "x-dd-drop-ok").
- */
- </span><span class="jsdoc-var">dropAllowed </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-dd-drop-ok"</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-comment">/**
- * @cfg {String} dropNotAllowed
- * The CSS class to apply to the status element when drop is not allowed (defaults to "x-dd-drop-nodrop").
- */
- </span><span class="jsdoc-var">dropNotAllowed </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-dd-drop-nodrop"</span><span class="jsdoc-syntax">,
-
- </span><span class="jsdoc-comment">/**
- * Updates the proxy's visual element to indicate the status of whether or not drop is allowed
- * over the current target element.
- * @param {String} cssClass The css class for the new drop status indicator image
- */
- </span><span class="jsdoc-var">setStatus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cssClass</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">cssClass </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cssClass </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.dropNotAllowed</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dropStatus </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">cssClass</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.el.replaceClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dropStatus</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cssClass</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.dropStatus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cssClass</span><span class="jsdoc-syntax">;
- }
- },
-
- </span><span class="jsdoc-comment">/**
- * Resets the status indicator to the default dropNotAllowed value
- * @param {Boolean} clearGhost True to also remove all content from the ghost, false to preserve it
- */
- </span><span class="jsdoc-var">reset </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">clearGhost</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.el.dom.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-dd-drag-proxy " </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.dropNotAllowed</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">this.dropStatus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dropNotAllowed</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">clearGhost</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.ghost.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
- }
- },
-
- </span><span class="jsdoc-comment">/**
- * Updates the contents of the ghost element
- * @param {String} html The html that will replace the current innerHTML of the ghost element
- */
- </span><span class="jsdoc-var">update </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"string"</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.ghost.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">);
- }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
- </span><span class="jsdoc-var">this.ghost.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">html.style.margin </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"0"</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">this.ghost.dom.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">);
- }
- </span><span class="jsdoc-comment">// ensure float = none set?? cant remember why though.
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ghost.dom.firstChild</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'float'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'none'</span><span class="jsdoc-syntax">);
- }
- },
-
- </span><span class="jsdoc-comment">/**
- * Returns the underlying proxy {@link Roo.Layer}
- * @return {Roo.Layer} el
- */
- </span><span class="jsdoc-var">getEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">;
- },
-
- </span><span class="jsdoc-comment">/**
- * Returns the ghost element
- * @return {Roo.Element} el
- */
- </span><span class="jsdoc-var">getGhost </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.ghost</span><span class="jsdoc-syntax">;
- },
-
- </span><span class="jsdoc-comment">/**
- * Hides the proxy
- * @param {Boolean} clear True to reset the status and clear the ghost contents, false to preserve them
- */
- </span><span class="jsdoc-var">hide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">clear</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.el.hide</span><span class="jsdoc-syntax">();
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">clear</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.reset</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
- }
- },
-
- </span><span class="jsdoc-comment">/**
- * Stops the repair animation if it's currently running
- */
- </span><span class="jsdoc-var">stop </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.anim </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.anim.isAnimated </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.anim.isAnimated</span><span class="jsdoc-syntax">()){
- </span><span class="jsdoc-var">this.anim.stop</span><span class="jsdoc-syntax">();
- }
- },
-
- </span><span class="jsdoc-comment">/**
- * Displays this proxy
- */
- </span><span class="jsdoc-var">show </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
- </span><span class="jsdoc-var">this.el.show</span><span class="jsdoc-syntax">();
- },
-
- </span><span class="jsdoc-comment">/**
- * Force the Layer to sync its shadow and shim positions to the element
- */
- </span><span class="jsdoc-var">sync </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
- </span><span class="jsdoc-var">this.el.sync</span><span class="jsdoc-syntax">();
- },
-
- </span><span class="jsdoc-comment">/**
- * Causes the proxy to return to its position of origin via an animation. Should be called after an
- * invalid drop operation by the item being dragged.
- * @param {Array} xy The XY position of the element ([x, y])
- * @param {Function} callback The function to call after the repair is complete
- * @param {Object} scope The scope in which to execute the callback
- */
- </span><span class="jsdoc-var">repair </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.callback </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">this.scope </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">xy </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.animRepair </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-dd-drag-repair"</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.el.hideUnders</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.anim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.shift</span><span class="jsdoc-syntax">({
- </span><span class="jsdoc-var">duration</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.repairDuration </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">.5</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">easing</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'easeOut'</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">stopFx</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.afterRepair</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this
- </span><span class="jsdoc-syntax">});
- }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
- </span><span class="jsdoc-var">this.afterRepair</span><span class="jsdoc-syntax">();
- }
- },
-
- </span><span class="jsdoc-comment">// private
- </span><span class="jsdoc-var">afterRepair </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
- </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">this.callback </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"function"</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">this.callback.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.scope </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
- }
- </span><span class="jsdoc-var">this.callback </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">this.scope </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
- }
-};</span></code></body></html>
\ No newline at end of file