X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=roojs-ui-debug.js;h=88b86114a5b961c4520389bea6dee6d4254cabd7;hb=refs%2Fheads%2Fgithub.com.roojs1.master;hp=cb17eb7f1890abec629ec81ffb1e8a75b6ecb6fb;hpb=7e6c887e5ca3882dcb1d724d89f6b618207e9ca3;p=roojs1 diff --git a/roojs-ui-debug.js b/roojs-ui-debug.js index cb17eb7f18..88b86114a5 100644 --- a/roojs-ui-debug.js +++ b/roojs-ui-debug.js @@ -26,6 +26,7 @@ var Dom=Roo.lib.Dom; /** * @class Roo.dd.DragDrop + * @extends Roo.util.Observable * Defines the interface and base operation of items that that can be * dragged or can be drop targets. It was designed to be extended, overriding * the event handlers for startDrag, onDrag, onDragOver and onDragOut. @@ -72,12 +73,7 @@ Roo.dd.DragDrop = function(id, sGroup, config) { if (id) { this.init(id, sGroup, config); } - if (config.listeners || config.events) { - Roo.BasicLayoutRegion.superclass.constructor.call(this, { - listeners : config.listeners || {}, - events : config.events || {} - }); - } + }; Roo.extend(Roo.dd.DragDrop, Roo.util.Observable , { @@ -1163,7 +1159,7 @@ Roo.extend(Roo.dd.DragDrop, Roo.util.Observable , { return ("DragDrop " + this.id); } -}; +}); })(); /* @@ -3006,6 +3002,12 @@ Roo.dd.DDTarget = function(id, sGroup, config) { if (id) { this.initTarget(id, sGroup, config); } + if (config.listeners || config.events) { + Roo.dd.DragDrop.superclass.constructor.call(this, { + listeners : config.listeners || {}, + events : config.events || {} + }); + } }; // Roo.dd.DDTarget.prototype = new Roo.dd.DragDrop(); @@ -3890,78 +3892,84 @@ Roo.extend(Roo.dd.DragSource, Roo.dd.DDProxy, { Roo.dd.DropTarget = function(el, config){ this.el = Roo.get(el); + var listeners = false; ; + if (config && config.listeners) { + listeners= config.listeners; + delete config.listeners; + } Roo.apply(this, config); if(this.containerScroll){ Roo.dd.ScrollManager.register(this.el); } - + this.addEvents( { + /** + * @scope Roo.dd.DropTarget + */ + + /** + * @event enter + * The function a {@link Roo.dd.DragSource} calls once to notify this drop target that the source is now over the + * target. This default implementation adds the CSS class specified by overClass (if any) to the drop element + * and returns the dropAllowed config value. This method should be overridden if drop validation is required. + * + * IMPORTANT : it should set this.overClass and this.dropAllowed + * + * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target + * @param {Event} e The event + * @param {Object} data An object containing arbitrary data supplied by the drag source + */ + "enter" : true, + + /** + * @event over + * The function a {@link Roo.dd.DragSource} calls continuously while it is being dragged over the target. + * This method will be called on every mouse movement while the drag source is over the drop target. + * This default implementation simply returns the dropAllowed config value. + * + * IMPORTANT : it should set this.dropAllowed + * + * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target + * @param {Event} e The event + * @param {Object} data An object containing arbitrary data supplied by the drag source + + */ + "over" : true, + /** + * @event out + * The function a {@link Roo.dd.DragSource} calls once to notify this drop target that the source has been dragged + * out of the target without dropping. This default implementation simply removes the CSS class specified by + * overClass (if any) from the drop element. + * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target + * @param {Event} e The event + * @param {Object} data An object containing arbitrary data supplied by the drag source + */ + "out" : true, + + /** + * @event drop + * The function a {@link Roo.dd.DragSource} calls once to notify this drop target that the dragged item has + * been dropped on it. This method has no default implementation and returns false, so you must provide an + * implementation that does something to process the drop event and returns true so that the drag source's + * repair action does not run. + * + * IMPORTANT : it should set this.success + * + * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target + * @param {Event} e The event + * @param {Object} data An object containing arbitrary data supplied by the drag source + */ + "drop" : true + }); + Roo.dd.DropTarget.superclass.constructor.call( this, this.el.dom, this.ddGroup || this.group, { isTarget: true, - events : { - /** - * @scope Roo.dd.DropTarget - */ - - /** - * @event enter - * The function a {@link Roo.dd.DragSource} calls once to notify this drop target that the source is now over the - * target. This default implementation adds the CSS class specified by overClass (if any) to the drop element - * and returns the dropAllowed config value. This method should be overridden if drop validation is required. - * - * IMPORTANT : it should set this.overClass and this.dropAllowed - * - * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target - * @param {Event} e The event - * @param {Object} data An object containing arbitrary data supplied by the drag source - */ - "enter" : true, - - /** - * @event over - * The function a {@link Roo.dd.DragSource} calls continuously while it is being dragged over the target. - * This method will be called on every mouse movement while the drag source is over the drop target. - * This default implementation simply returns the dropAllowed config value. - * - * IMPORTANT : it should set this.dropAllowed - * - * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target - * @param {Event} e The event - * @param {Object} data An object containing arbitrary data supplied by the drag source - - */ - "over" : true, - /** - * @event out - * The function a {@link Roo.dd.DragSource} calls once to notify this drop target that the source has been dragged - * out of the target without dropping. This default implementation simply removes the CSS class specified by - * overClass (if any) from the drop element. - * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target - * @param {Event} e The event - * @param {Object} data An object containing arbitrary data supplied by the drag source - */ - "out" : true, - - /** - * @event drop - * The function a {@link Roo.dd.DragSource} calls once to notify this drop target that the dragged item has - * been dropped on it. This method has no default implementation and returns false, so you must provide an - * implementation that does something to process the drop event and returns true so that the drag source's - * repair action does not run. - * - * IMPORTANT : it should set this.success - * - * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target - * @param {Event} e The event - * @param {Object} data An object containing arbitrary data supplied by the drag source - */ - "drop" : true - } - + listeners : listeners || {} + } ); @@ -3973,6 +3981,11 @@ Roo.extend(Roo.dd.DropTarget, Roo.dd.DDTarget, { * @cfg {String} overClass * The CSS class applied to the drop target element while the drag source is over it (defaults to ""). */ + /** + * @cfg {String} ddGroup + * The drag drop group to handle drop events for + */ + /** * @cfg {String} dropAllowed * The CSS class returned to the drag source when drop is allowed (defaults to "x-dd-drop-ok"). @@ -3989,7 +4002,7 @@ Roo.extend(Roo.dd.DropTarget, Roo.dd.DDTarget, { */ success : false, /** - * @cfg {boolean} valid + * @cfg {boolean|String} valid true/false or string (ok-add/ok-sub/ok/nodrop) * if the drop point is valid for over/enter.. */ valid : false, @@ -3999,37 +4012,51 @@ Roo.extend(Roo.dd.DropTarget, Roo.dd.DDTarget, { // private isNotifyTarget : true, - // private - - notifyEnter : function(dd, e, data){ + /** + * @hide + */ + notifyEnter : function(dd, e, data) + { this.valid = true; - this.fireEvent('enter', this, dd, e, data); + this.fireEvent('enter', dd, e, data); if(this.overClass){ this.el.addClass(this.overClass); } - return this.valid ? this.dropAllowed : this.dropNotAllowed; + return typeof(this.valid) == 'string' ? 'x-dd-drop-' + this.valid : ( + this.valid ? this.dropAllowed : this.dropNotAllowed + ); }, - // private - - notifyOver : function(dd, e, data){ + /** + * @hide + */ + notifyOver : function(dd, e, data) + { this.valid = true; - this.fireEvent('over', this, dd, e, data); - return this.valid ? this.dropAllowed : this.dropNotAllowed; + this.fireEvent('over', dd, e, data); + return typeof(this.valid) == 'string' ? 'x-dd-drop-' + this.valid : ( + this.valid ? this.dropAllowed : this.dropNotAllowed + ); }, - - notifyOut : function(dd, e, data){ - this.fireEvent('out', this, dd, e, data); + /** + * @hide + */ + notifyOut : function(dd, e, data) + { + this.fireEvent('out', dd, e, data); if(this.overClass){ this.el.removeClass(this.overClass); } }, - - notifyDrop : function(dd, e, data){ + /** + * @hide + */ + notifyDrop : function(dd, e, data) + { this.success = false; - this.fireEvent('drop', this, dd, e, data); + this.fireEvent('drop', dd, e, data); return this.success; } });/* @@ -7660,4 +7687,29803 @@ Roo.extend(Roo.Component, Roo.util.Observable, { cfg.id = id; // prevent dup id return new this.constructor(cfg); } -}); \ No newline at end of file +});/* + * 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 + *