Sha256: c4c4cb35f512fdacbe02d373c72f67a937dfeae0da26a40b3a2cdf1b1143466d

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

// See the Pagy documentation: https://ddnexus.github.io/pagy/extras/resposive

function PagyResponsive(id, items, widths, series){
  var pagyNav    = document.getElementById('pagy-nav-'+id),
      pagyBox    = pagyNav.firstChild || pagyNav,
      pagyParent = pagyNav.parentElement,
      lastWidth  = undefined;

  this.render = function(){
                  var parentWidth = parseInt(pagyParent.clientWidth),
                      width       = widths.find(function(w){return parentWidth > w});
                  if (width !== lastWidth) {
                    while (pagyBox.firstChild) { pagyBox.removeChild(pagyBox.firstChild) }
                    var tags = items['prev'];
                    series[width].forEach(function(item){tags += items[item]});
                    tags += items['next'];
                    pagyBox.insertAdjacentHTML('beforeend', tags);
                    lastWidth = width;
                  }
                };

  if (window.attachEvent) { window.attachEvent('onresize', this.render) }
  else if (window.addEventListener) { window.addEventListener('resize', this.render, true) }

  this.render();
};

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pagy-0.9.2 lib/pagy/extras/javascripts/pagy-responsive.js
pagy-0.9.1 lib/pagy/extras/javascripts/pagy-responsive.js
pagy-0.9.0 lib/pagy/extras/javascripts/pagy-responsive.js