Sha256: 09ec7c091fb1bb1041b5ef86c1c6aa68587e6afac8564c01c4ae15e9887d167e

Contents?: true

Size: 1.44 KB

Versions: 140

Compression:

Stored size: 1.44 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).removeClass('long');
      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

140 entries across 140 versions & 1 rubygems

Version Path
rbbt-rest-1.8.151 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.150 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.148 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.147 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.146 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.145 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.144 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.143 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.142 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.140 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.139 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.138 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.137 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.136 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.135 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.134 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.133 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.132 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.131 share/views/public/js/helpers/_ellipsis.js
rbbt-rest-1.8.130 share/views/public/js/helpers/_ellipsis.js