ui.DragDropDetector Extends goog.events.EventTarget
Creates a new drag and drop detector.

Inheritance

Constructor

goog.ui.DragDropDetector(opt_filePath)

Parameters

opt_filePath : string=
The URL of the page to use for the detector. It should contain the same contents as dragdropdetector_target.html in the demos directory.

Instance Methods

Public Protected Private
clearContents_()
Clear the contents of the iframe.
code »
coverScreen_(e)
Cover the screen with the iframe.
Arguments:
e : goog.events.BrowserEvent
The event that caused this function call.
code »
disposeInternal()
No description.
code »
handleInputDrop_(e)
Handle a drop on the IE text INPUT.
Arguments:
e : goog.events.BrowserEvent
The event object.
code »
handleNewDrag_(e) boolean | undefined
Handle a new drag event.
Arguments:
e : goog.events.BrowserEvent
The event object.
Returns: boolean | undefined  Returns false in IE to cancel the event.
code »
handleNodeInserted_(e)
Event handler called when the content of the iframe changes.
Arguments:
e : goog.events.BrowserEvent
The event that caused this function call.
code »
initIframe_()
Initialize the iframe after it has loaded.
code »
switchToIframe_(e)
Remove the text INPUT so the IFRAME is showing. Does nothing when the DIV is off screen.
Arguments:
e : goog.events.BrowserEvent
The event that caused this function call.
code »
switchToInput_(e)
Re-insert the INPUT into the DIV. Does nothing when the DIV is off screen.
Arguments:
e : goog.events.BrowserEvent
The event that caused this function call.
code »
trackMouse_(e)
Handle mouse tracking.
Arguments:
e : goog.events.BrowserEvent
The event object.
code »
uncoverScreen_()
Uncover the screen.
code »
addEventListener(typeopt_captureopt_handlerScope)
Use #listen instead, when possible. Otherwise, use goog.events.listen if you are passing Object (instead of Function) as handler. Adds an event listener to the event target. The same handler can only be added once per the type. Even if you add the same handler multiple times using the same type then it will only be called once when the event is dispatched.
Arguments:
type : string
The type of the event to listen for.
: ?function():? | ?{handleEvent:function():?
No description.
opt_capture : boolean=
In DOM-compliant browsers, this determines whether the listener is fired during the capture or bubble phase of the event.
opt_handlerScope : Object=
Object in whose scope to call the listener.
code »
assertInitialized_()
Asserts that the event target instance is initialized properly.
code »
dispatchEvent()
No description.
code »
disposeInternal()
Removes listeners from this object. Classes that extend EventTarget may need to override this method in order to remove references to DOM Elements and additional listeners.
code »
fireListeners()
No description.
code »
getListener()
No description.
code »
getListeners()
No description.
code »
getParentEventTarget() goog.events.EventTarget
Returns the parent of this event target to use for bubbling.
Returns: goog.events.EventTarget  The parent EventTarget or null if there is no parent.
code »
hasListener()
No description.
code »
listen()
No description.
code »
listenOnce()
No description.
code »
removeAllListeners()
No description.
code »
removeEventListener(typeopt_captureopt_handlerScope)
Use #unlisten instead, when possible. Otherwise, use goog.events.unlisten if you are passing Object (instead of Function) as handler. Removes an event listener from the event target. The handler must be the same object as the one added. If the handler has not been added then nothing is done.
Arguments:
type : string
The type of the event to listen for.
: ?function():? | ?{handleEvent:function():?
No description.
opt_capture : boolean=
In DOM-compliant browsers, this determines whether the listener is fired during the capture or bubble phase of the event.
opt_handlerScope : Object=
Object in whose scope to call the listener.
code »
setParentEventTarget(parent)
Sets the parent of this event target to use for capture/bubble mechanism.
Arguments:
parent : goog.events.EventTarget
Parent listenable (null if none).
code »
setTargetForTesting(target)
Sets the target to be used for event.target when firing event. Mainly used for testing. For example, see goog.testing.events.mixinListenable.
Arguments:
target : !Object
The target.
code »
unlisten()
No description.
code »
unlistenByKey()
No description.
code »
addOnDisposeCallback(callbackopt_scope)
Invokes a callback function when this object is disposed. Callbacks are invoked in the order in which they were added.
Arguments:
callback : function(this:T):?
The callback function.
opt_scope : T=
An optional scope to call the callback in.
code »
dispose() void
Disposes of the object. If the object hasn't already been disposed of, calls #disposeInternal. Classes that extend goog.Disposable should override #disposeInternal in order to delete references to COM objects, DOM nodes, and other disposable objects. Reentrant.
Returns: void  Nothing.
code »
disposeInternal()
Deletes or nulls out any references to COM objects, DOM nodes, or other disposable objects. Classes that extend goog.Disposable should override this method. Not reentrant. To avoid calling it twice, it must only be called from the subclass' disposeInternal method. Everywhere else the public dispose method must be used. For example:
  mypackage.MyClass = function() {
    mypackage.MyClass.base(this, 'constructor');
    // Constructor logic specific to MyClass.
    ...
  };
  goog.inherits(mypackage.MyClass, goog.Disposable);

  mypackage.MyClass.prototype.disposeInternal = function() {
    // Dispose logic specific to MyClass.
    ...
    // Call superclass's disposeInternal at the end of the subclass's, like
    // in C++, to avoid hard-to-catch issues.
    mypackage.MyClass.base(this, 'disposeInternal');
  };
code »
getDisposed() boolean
Use #isDisposed instead. No description.
Returns: boolean  Whether the object has been disposed of.
code »
isDisposed() boolean
No description.
Returns: boolean  Whether the object has been disposed of.
code »
registerDisposable(disposable)
Associates a disposable object with this object so that they will be disposed together.
Arguments:
disposable : goog.disposable.IDisposable
that will be disposed when this object is disposed.
code »

Instance Properties

body_ :
The iframe's body, null if the iframe hasn't loaded yet.
Code »
constructor :
No description.
Code »
document_ :
The iframe's document, null if the iframe hasn't loaded yet.
Code »
element_ :
The iframe element.
Code »
Our event handler object.
Code »
isCoveringScreen_ :
Whether we are in "screen cover" mode in which the iframe or div is covering the entire screen.
Code »
mousePosition_ : goog.math.Coordinate
The last position of the mouse while dragging.
Code »
root_ :
The root element (the IFRAME on most browsers, the DIV on IE).
Code »
textInput_ :
The text INPUT element used to detect link drops on IE. null on Firefox.
Code »
window_ :
The iframe's window, null if the iframe hasn't loaded yet.
Code »
actualEventTarget_ : goog.events.EventTarget
The object to use for event.target. Useful when mixing in an EventTarget to another object.
Code »
constructor :
No description.
Code »
eventTargetListeners_ : goog.events.ListenerMap
Maps of event type to an array of listeners.
Code »
parentEventTarget_ : goog.events.EventTarget
Parent event target, used during event bubbling. TODO(user): Change this to goog.events.Listenable. This currently breaks people who expect getParentEventTarget to return goog.events.EventTarget.
Code »
creationStack :
If monitoring the goog.Disposable instances is enabled, stores the creation stack trace of the Disposable instance.
Code »
disposed_ :
Whether the object has been disposed of.
Code »
onDisposeCallbacks_ :
Callbacks to invoke when this object is disposed.
Code »

Static Methods

goog.ui.DragDropDetector.enforceCopyEffect_(e)
Enforce that anything dragged over the IFRAME is copied in to it, rather than making it navigate to a different URL.
Arguments:
e : goog.events.BrowserEvent
The event to enforce copying on.
code »

Static Properties

goog.ui.DragDropDetector.BASE_CSS_NAME_ :
Prefix for all CSS names.
Code »
goog.ui.DragDropDetector.DEFAULT_FILE_PATH_ :
Path to the dragdrop.html file.
Code »
goog.ui.DragDropDetector.DROP_EVENT_TYPE_ :
Browser specific drop event type.
Code »
goog.ui.DragDropDetector.INIT_POSITION :
Initial value for clientX and clientY indicating that the location has never been updated.
Code »
goog.ui.DragDropDetector.SPECIAL_CASE_URLS_ :
A map of special case information for URLs that cannot be dropped. Each entry is of the form: regex: url regex message: user visible message about this special case
Code »
goog.ui.DragDropDetector.URL_LIKE_REGEX_ :
Regex that matches anything that looks kind of like a URL. It matches nonspacechars://nonspacechars
Code »
goog.ui.DragDropDetector.superClass_ :
No description.
Code »

Enumerations

goog.ui.DragDropDetector.EventType :
Drag and drop event types.
Constants:
IMAGE_DROPPED
No description.
LINK_DROPPED
No description.
Code »

Package ui

Package Reference