datacite/bracco

View on GitHub
app/components/provider-id.js

Summary

Maintainability
A
1 hr
Test Coverage
import Component from '@ember/component';
import fetch from 'fetch';
import ENV from 'bracco/config/environment';

export default Component.extend({
  init() {
    this._super(...arguments);

    this.generate();
  },

  generate() {
    let self = this;
    let url = ENV.API_URL + '/providers/random';
    fetch(url)
      .then(function (response) {
        if (response.ok) {
          response.json().then(function (data) {
            if (self.isDestroying || self.isDestroyed) {
              return;
            }
            self.model.set('symbol', data.symbol);
          });
        } else {
          console.debug(response);
        }
      })
      .catch(function (error) {
        console.debug(error);
      });
  },

  actions: {
    generate() {
      this.generate();
    },
    refresh() {
      this.generate();
    },
    clear() {
      this.model.set('symbol', null);
    }
  }
});