diff --git a/module/testsuite/css/browse.css b/module/testsuite/css/browse.css
index 1a36b974aa..270231864f 100644
--- a/module/testsuite/css/browse.css
+++ b/module/testsuite/css/browse.css
@@ -1 +1,2 @@
-.c-desc {overflow-x: scroll;}
+.table td.c-desc div {height: 25px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; float: left; max-width: calc(100% - 20px);}
+.table td.c-desc .more {height: 25px; float: left;}
diff --git a/module/testsuite/js/common.js b/module/testsuite/js/common.js
index 0c109aebfb..37eb430a8f 100644
--- a/module/testsuite/js/common.js
+++ b/module/testsuite/js/common.js
@@ -7,4 +7,32 @@ $(function()
$(this).parent().toggleClass('active');
});
}
+
+ $('#suiteList tbody tr').each(function()
+ {
+ var $content = $(this).find('td.c-desc');
+ var content = $content.find('div').html();
+ if(content.indexOf('
= 0)
+ {
+ $content.append("");
+ }
+ });
})
+$(document).on('click', 'td.c-desc .more', function(e)
+{
+ var $toggle = $(this);
+ if($toggle.hasClass('open'))
+ {
+ $toggle.removeClass('open');
+ $toggle.closest('.c-desc').find('div').css('height', '25px');
+ $toggle.css('padding-top', 0);
+ $toggle.find('i').removeClass('icon-chevron-double-up').addClass('icon-chevron-double-down');
+ }
+ else
+ {
+ $toggle.addClass('open');
+ $toggle.closest('.c-desc').find('div').css('height', 'auto');
+ $toggle.css('padding-top', ($toggle.closest('.c-desc').find('div').height() - $toggle.height()) / 2);
+ $toggle.find('i').removeClass('icon-chevron-double-down').addClass('icon-chevron-double-up');
+ }
+});
diff --git a/module/testsuite/view/browse.html.php b/module/testsuite/view/browse.html.php
index aed71746c0..d1c2ed956c 100644
--- a/module/testsuite/view/browse.html.php
+++ b/module/testsuite/view/browse.html.php
@@ -62,7 +62,10 @@
type == 'private') echo "{$lang->testsuite->authorList['private']} ";?>
id"), $suite->name);?>
-