Class: Browser::Event::DataTransfer

Inherits:
Object
  • Object
show all
Includes:
NativeCachedWrapper
Defined in:
opal/browser/event/data_transfer.rb

Overview

DataTransfer is an object which manages included data to an event of type Drag or Clipboard.

Defined Under Namespace

Classes: Item

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from NativeCachedWrapper

#restricted?, #set_native_reference

Instance Attribute Details

#drag_image=(value) ⇒ Object (writeonly)

Sets a drag image for this Browser::Event::DataTransfer. Use some DOM::Element::Image or Canvas as a value.



42
43
44
# File 'opal/browser/event/data_transfer.rb', line 42

def drag_image= (image)
  `#@native.setDragImage(#{Native.convert(image)})`
end

#effectSymbol



15
16
17
# File 'opal/browser/event/data_transfer.rb', line 15

def effect
  `#@native.dropEffect`
end

#filesArray<File> (readonly)



48
49
50
# File 'opal/browser/event/data_transfer.rb', line 48

def files
  Native::Array.new(`#@native.files`).map { |f| File.new(f.to_n) }
end

#itemsArray<Item> (readonly)



54
55
56
# File 'opal/browser/event/data_transfer.rb', line 54

def items
  Native::Array.new(`#@native.items`).map { |i| Item.new(i.to_n) }
end

Instance Method Details

#[](type) ⇒ Object

Extract some text data from this Browser::Event::DataTransfer instance.



24
25
26
# File 'opal/browser/event/data_transfer.rb', line 24

def [] (type)
  `#@native.getData(#{type})`
end

#[]=(type, value) ⇒ Object

Embed some text data in this Browser::Event::DataTransfer instance.



29
30
31
# File 'opal/browser/event/data_transfer.rb', line 29

def []= (type, value)
  `#@native.setData(#{type}, #{Native.convert(value)})`
end

#clear(type = nil) ⇒ Object

Clear some (or all, if type is not specified) text data from this Browser::Event::DataTransfer instance.



35
36
37
# File 'opal/browser/event/data_transfer.rb', line 35

def clear (type=nil)
  `#@native.clearData(#{type.to_n})`
end