Sha256: b97eb3cc47f976bf808161db644fa432cbbbc5e5d777cd0881c6eee6f6bec955

Contents?: true

Size: 1.46 KB

Versions: 20

Compression:

Stored size: 1.46 KB

Contents

(function() {
  "use strict";
  window.GOVUK = window.GOVUK || {};

  // Only show the first {n} items in a list, documentation is in the README.md
  var PrimaryList = function(el, selector){
    this.$el = $(el);
    this.$extraLinks = this.$el.find('li:not('+selector+')');
    // only hide more than one extra link
    if(this.$extraLinks.length > 1){
      this.addToggleLink();
      this.hideExtraLinks();
    }
  }
  PrimaryList.prototype = {
    toggleText: function(){
      if(this.$extraLinks.length > 1){
        return '+'+ this.$extraLinks.length +' others';
      } else {
        return '+'+ this.$extraLinks.length +' other';
      }
    },
    addToggleLink: function(){
      this.$toggleLink = $('<a href="#">'+ this.toggleText() + '</a>')
      this.$toggleLink.click($.proxy(this.toggleLinks, this));
      this.$toggleLink.insertAfter(this.$el);
    },
    toggleLinks: function(e){
      e.preventDefault();
      this.$toggleLink.remove();
      this.showExtraLinks();
    },
    hideExtraLinks: function(){
      this.$extraLinks.addClass('visuallyhidden');
      $(window).trigger('govuk.pageSizeChanged')
    },
    showExtraLinks: function(){
      this.$extraLinks.removeClass('visuallyhidden');
      $(window).trigger('govuk.pageSizeChanged')
    }
  };
  GOVUK.PrimaryList = PrimaryList;

  GOVUK.primaryLinks = {
    init: function(selector){
      $(selector).parent().each(function(i, el){
        new GOVUK.PrimaryList(el, selector);
      });
    }
  }
}());

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
govuk_frontend_toolkit-3.0.1 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-3.0.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-2.0.1 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-2.0.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.7.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.6.2 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.6.1 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.6.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.5.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.4.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.3.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.2.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.1.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.0.1 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-1.0.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-0.48.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-0.47.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-0.46.1 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-0.46.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-0.45.0 app/assets/javascripts/govuk/primary-links.js