Method: Object#importer_all

Defined in:
lib/atome/extensions/atome.rb

#importer_all(&proc) ⇒ Object

import methode below



378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
# File 'lib/atome/extensions/atome.rb', line 378

def importer_all(&proc)
  JS.global[:document][:body].addEventListener('dragover') do |native_event|
    event = Native(native_event)
    event.preventDefault
  end

  JS.global[:document][:body].addEventListener('drop') do |native_event|
    event = Native(native_event)
    event.preventDefault
    files = event[:dataTransfer][:files]

    if files[:length].to_i > 0
      (0...files[:length].to_i).each do |i|
        file = files[i]
        reader = JS.eval('let a= new FileReader(); return a')
        reader.readAsText(file)
        reader.addEventListener('load') do
          proc.call({ content: reader[:result].to_s, name: file[:name].to_s, type: file[:type].to_s, size: file[:size].to_s })
        end
        reader.addEventListener('error') do
          puts 'Error: ' + file[:name].to_s
        end
      end
    end
  end
end