<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nicolas Deyros</title>
    <description>The latest articles on DEV Community by Nicolas Deyros (@ndeyros).</description>
    <link>https://dev.to/ndeyros</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F362468%2Fe03e41a5-ec12-494f-88cf-c9ada14940e3.png</url>
      <title>DEV Community: Nicolas Deyros</title>
      <link>https://dev.to/ndeyros</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ndeyros"/>
    <language>en</language>
    <item>
      <title>Glidejs Append content dynamic with Json</title>
      <dc:creator>Nicolas Deyros</dc:creator>
      <pubDate>Thu, 27 Aug 2020 15:34:58 +0000</pubDate>
      <link>https://dev.to/ndeyros/glidejs-append-content-dynamic-with-json-39gj</link>
      <guid>https://dev.to/ndeyros/glidejs-append-content-dynamic-with-json-39gj</guid>
      <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I'm trying to append content dynamically from a Json file but I cannot find a work around to make it work.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import Glide from '@glidejs/glide';

function slider() {
  let ul = document.querySelector('.glide__slides');
  let card = '';
  var glide = new Glide('.glide').destroy();

  const photo = import('../metadata/photos.json').then((module) =&amp;gt; {
    const data = module.default;
    data.forEach((photo) =&amp;gt; {
      console.log(photo);
      card += `&amp;lt;li class="glide__slide"&amp;gt;&amp;lt;img src="${photo.thumbnailUrl}" alt="${photo.title}"&amp;gt;${photo.id}&amp;lt;/li&amp;gt;`;
    });
    ul.innerHTML = card;
  });

  glide.mount();
}

slider();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thanks in advance for your time.&lt;/p&gt;




&lt;h1&gt;
  
  
  Back in the Future
&lt;/h1&gt;

&lt;p&gt;I could solve it with the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import Glide from '@glidejs/glide';

let ul = document.querySelector('.glide_mobile_slides');
let desktopCarrousel = document.querySelector('.glide_desktop_carrousel');
let msg = document.querySelector('#msgDefault');
let arrows = document.querySelector('.glide__arrows');

let card = '';

var init = {
  method: 'GET',
  headers: { 'Content-Type': 'application/json' },
  mode: 'cors',
  cache: 'default',
};
const url = new Request('../metadata/@YOUR-FILE@.json', init);

const fetchData = fetch(url).then((data) =&amp;gt; {
  return data.json();
});

statesSelect.addEventListener('change', (e) =&amp;gt; {
  statesSelectValue = e.target.value;
  card = '';

  fetchData.then((datas) =&amp;gt; {
    datas[statesSelectValue].forEach((data) =&amp;gt; {
        card += `
          &amp;lt;li class="glide__slide"&amp;gt;
            &amp;lt;div class="max-w-xs rounded overflow-hidden"&amp;gt;
              &amp;lt;div class="p-2 mb-1 text-center bg-blue-700 font-bold text-white"&amp;gt;
                ${data.title}
              &amp;lt;/div&amp;gt;
              &amp;lt;div&amp;gt;
          &amp;lt;/li&amp;gt;
    `;
      }
    });
    if (card != '') {
      ul.innerHTML = card;
      desktopCarrousel.innerHTML = card;
      arrows.classList.add('block'), arrows.classList.remove('hidden');
      msg.innerHTML = '';
    } else {
      ul.innerHTML = '';
      desktopCarrousel.innerHTML = '';
      msg.innerHTML = `
      &amp;lt;div class="bg-orange-100 border-l-4 border-orange-500 text-orange-700 p-4 text-center" role="alert"&amp;gt;
        &amp;lt;p class="font-bold"&amp;gt;Error msg&amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
      `;
    }
    new Glide('.glide_mobile', {
      type: 'slider',
      startAt: 0,
      focusAt: 'center',
      perView: 2,
      hoverpause: true,
      keyboard: true,
      bound: true,
      gap: 10,
    }).mount();
    new Glide('.glide_desktop', {
      type: 'carrousel',
      perView: 4,
      startAt: 0,
      hoverpause: true,
      keyboard: true,
      autoplay: 4000,
      breakpoints: {
        1024: {
          perView: 3,
        },
        800: {
          perView: 2,
        },
      },
    }).mount();
  });
});

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>help</category>
      <category>javascript</category>
      <category>json</category>
      <category>glidejs</category>
    </item>
  </channel>
</rss>
