datacite/bracco

View on GitHub
app/components/doi-upload.js

Summary

Maintainability
B
5 hrs
Test Coverage
import Component from '@ember/component';
import FileReader from 'ember-file-upload/system/file-reader';

export default Component.extend({
  b64DecodeUnicode(str) {
    // Going backwards: from bytestream, to percent-encoding, to original string.
    return decodeURIComponent(
      atob(str)
        .split('')
        .map(function (c) {
          return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
        })
        .join('')
    );
  },

  actions: {
    didSelectFiles(file) {
      let reader = new FileReader();
      let self = this;

      reader.readAsText(file.blob).then(
        (xml) => {
          self.get('model').set('xml', xml);
        },
        (err) => {
          console.error(err);
        }
      );
    }
  }
});