Skip to content
Snippets Groups Projects
fetchCondensate.vue 3.11 KiB
Newer Older
<template>
moon's avatar
moon committed
  <div class="mainContent">
    <slot
      :response="response"
      :loading="loading"
      :fetchError="fetchError"
moon's avatar
moon committed
    />
  </div>
</template>

<script>
import LoginVue from '../../views/Login.vue';
  // require modules
  /* eslint-disable no-unused-vars */
  const _ = require('lodash');
  let host = require('../js/const').host;
  const apikey = require('../js/const').apikey;

  export default {
moon's avatar
moon committed
    name: 'FetchCondensate',
    props: ['condensate'],
    data() {
      return {
        response: null,
        loading: false,
        isDev: process.env.NODE_ENV === 'development'
      }
    },
moon's avatar
moon committed
    mounted() {
      const vm = this
      // /* eslint-disable no-console */
      // console.log(vm.locus);
      vm.getItems();
    },
    methods: {
        const vm = this

        // /* eslint-disable no-console */
        // console.log(vm.incDesc);

        vm.loading = true

        if(vm.isDev) {
          host = require('../js/const').devHost;
        }
        let url = `${host}/condensates/${vm.condensate}`;
moon's avatar
moon committed
       // console.log('url is', url);

        if (vm.condensate && !_.isEmpty(vm.condensate)) {
moon's avatar
moon committed
          // console.log('True');
          try{
           const res = await fetch(url, {
            method: 'GET',
            mode: 'cors',
            cache: 'no-cache',
            headers: {
              Authorization: `Bearer ${apikey}`
            }
          })
        
         
          if(!res.ok){
            vm.loading = false;
            vm.response = ''
            vm.fetchError = `${res.status} Internal Error, please write a mail to DDCode Admin.` 
            return;
          }
          vm.fetchError= '';
          const response = await res.json();
            setTimeout(() => {
                vm.loading = false;
                vm.response = response

                // console.log(response);
                // if (response && !_.isEmpty(response)) {
                //   this.response = _.flatMap(response, (n) => [{ text: n.name, style: 'background-color: ' + n.color }]);
                // }
              }, 10);


            // .then(response => response.json())
            // .then((response) => {
            //   /* eslint-disable no-console */
            //   console.log(response);

            //   setTimeout(() => {
            //     vm.loading = false;
            //     vm.response = response

            //     // console.log(response);
            //     // if (response && !_.isEmpty(response)) {
            //     //   this.response = _.flatMap(response, (n) => [{ text: n.name, style: 'background-color: ' + n.color }]);
            //     // }
            //   }, 10);
            // });
          }catch(err){
moon's avatar
moon committed
            console.log('in catch',err.message);
            vm.loading = false;
            vm.response = ''
            vm.fetchError = `${err.message} Internal Error, please write a mail to DDCode Admin.`
          }
          
        } else {
          vm.loading = false;
          vm.response = ''
        }
      }
    },
  }
</script>

<style scoped>
    .mainContent {
        padding: 20px;
    }
</style>