Class: Browser::Event::DataTransfer::Item

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

Overview

An instance of DataTransferItem

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from NativeCachedWrapper

#restricted?, #set_native_reference

Instance Attribute Details

#kindSymbol (readonly)

Returns kind of an item: :string or :file.

Returns:

  • (Symbol)

    kind of an item: :string or :file



64
65
66
# File 'opal/browser/event/data_transfer.rb', line 64

def kind
  `#@native.kind`
end

#typeString (readonly)

Returns mime type of an item.

Returns:

  • (String)

    mime type of an item



73
74
75
# File 'opal/browser/event/data_transfer.rb', line 73

def type
  `#@native.type`
end

Instance Method Details

#file?Boolean

Some files can't be resolved...

Returns:

  • (Boolean)


69
# File 'opal/browser/event/data_transfer.rb', line 69

def file?;   kind == 'file' && to_file;  end

#string?Boolean

Returns:

  • (Boolean)


68
# File 'opal/browser/event/data_transfer.rb', line 68

def string?; kind == 'string';           end

#to_fileObject

Convert to file or return nil if impossible



90
91
92
93
# File 'opal/browser/event/data_transfer.rb', line 90

def to_file
  as_file = `#@native.getAsFile()`
  File.new(as_file) if as_file
end

#to_string(&block) ⇒ Object

Convert to string and call back once ready, or return a promise if a block isn't given.



79
80
81
82
83
84
85
86
87
# File 'opal/browser/event/data_transfer.rb', line 79

def to_string(&block)
  promise = nil
  if !block
    promise = Promise.new
    block = proc { |i| promise.resolve(i) }
  end
  `#@native.getAsString(#{block.to_n})`
  return promise
end