Sha256: 495ddfabf60f1090109f4370c5265146afc946a5c4c63ab94c85ca8dff85cf50

Contents?: true

Size: 1.53 KB

Versions: 10

Compression:

Stored size: 1.53 KB

Contents

(function(global) {
  "use strict";

  var $ = global.jQuery;
  var GOVUK = global.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);
      });
    }
  };

  global.GOVUK = GOVUK;
})(window);

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
govuk_frontend_toolkit-4.18.3 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.18.2 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.18.1 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.18.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.17.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.16.1 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.16.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.15.0 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.14.1 app/assets/javascripts/govuk/primary-links.js
govuk_frontend_toolkit-4.14.0 app/assets/javascripts/govuk/primary-links.js