Sha256: 6521ccd5b967a6305f75c09fd7fa278fa09a7adbb497f8163460836ef1d0755d

Contents?: true

Size: 1.42 KB

Versions: 141

Compression:

Stored size: 1.42 KB

Contents

function contract_ellipsis(elem, max){
  if (undefined === max) { max = 5 };
  var text;
  var elements;
  var type;

  if (elem.text() == elem.html()){
    type = 'text';
    text = elem.text();
    elements = text.split(', ');
  }else{
    type = 'html';
    elements = elem.children();
  }

  if (elements.length > max + 2){
    if (type == 'html'){
      elements.removeClass('rbbt_action_setup')
    }
    var rest = elements.length - max;
    var ellipsis = "... (<a href=# class='open_ellipsis'>" + rest + " more</a>)";
    var end_span = $("<span class='ellipsis' attr-text='" + escape(elem.html()) + "'>" + ellipsis + "</span>");
    var new_content;
    
    if (type == 'text'){
      new_content = elements.slice(0, max).join(", ");
      elem.text(new_content);
    }else{
      var links = [];
      var head = elements.slice(0, max);
      head.each(function(){ links.push(this.outerHTML)})
      new_content = links.join(", ");
      elem.html(new_content);
    }

    end_span.appendTo(elem);

    return(true);
  }else{
    return(false);
  }
}

function restore_ellipsis(elem){
  var span = elem.find('span.ellipsis')
  if (span.length == 1){
    var html = span.attr('attr-text');
    elem.html(unescape(html));
  }
  update_rbbt();
}

$('body').on('click', 'a.open_ellipsis', function(link){
  var link = $(this);
  var span = link.parent('span');
  var container = span.parent();
  restore_ellipsis(container);

  return(false);
})

Version data entries

141 entries across 141 versions & 1 rubygems

Version Path
rbbt-rest-1.8.1 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.0 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.20 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.19 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.18 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.17 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.16 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.15 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.14 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.13 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.12 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.11 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.10 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.9 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.8 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.7 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.6 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.7.5 share/views/public/js/_ellipsis.js
rbbt-rest-1.7.4 share/views/public/js/_ellipsis.js
rbbt-rest-1.7.3 share/views/public/js/_ellipsis.js