[Rt-commit] rt branch, 4.4/search-results-header-order-indicator, created. rt-4.4.3-53-g77899ddd2

? sunnavy sunnavy at bestpractical.com
Mon Oct 1 14:58:02 EDT 2018


The branch, 4.4/search-results-header-order-indicator has been created
        at  77899ddd2a870e24a17597238b99960ee3985b94 (commit)

- Log -----------------------------------------------------------------
commit 01d0596d0811134efcc3312250700a372b660157
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Tue Oct 2 02:38:06 2018 +0800

    Add order indicator to search results header

diff --git a/share/html/Elements/CollectionAsTable/Header b/share/html/Elements/CollectionAsTable/Header
index 6ab35b485..80e1b1fee 100644
--- a/share/html/Elements/CollectionAsTable/Header
+++ b/share/html/Elements/CollectionAsTable/Header
@@ -70,6 +70,13 @@ my $generic_query_args = $GenericQueryArgs || {map { $_ => $ARGS{$_} } @PassArgu
 $generic_query_args->{'Format'} = $FormatString if grep $_ eq 'Format', @PassArguments;
 
 my $item = 0;
+
+my %order_by;
+for my $i ( 0 .. $#OrderBy ) {
+    $order_by{ $OrderBy[ $i ] }{index} = $i + 1;
+    $order_by{ $OrderBy[ $i ] }{class} = ( $Order[ $i ] || 'ASC' ) =~ /ASC/i ? 'asc' : 'desc';
+}
+
 foreach my $col ( @Format ) {
     my $attr = $col->{'attribute'} || $col->{'last_attribute'};
 
@@ -149,6 +156,10 @@ foreach my $col ( @Format ) {
             ), 'h')
             . '">'. $loc_title .'</a>'
         );
+
+        if ( $order_by{$attr} ) {
+            $m->out( qq{ $order_by{$attr}{index} <i class="$order_by{$attr}{class}"></i>} );
+        }
     }
     else {
         $m->out( $loc_title );
diff --git a/share/static/css/base/collection.css b/share/static/css/base/collection.css
index a06199977..c87fabd6a 100644
--- a/share/static/css/base/collection.css
+++ b/share/static/css/base/collection.css
@@ -24,3 +24,20 @@ table.collection td:first-child, table.collection th:first-child {
 .results-count::before {
     content: '\a0\a0\a0\a0';
 }
+
+th.collection-as-table i {
+    border: solid black;
+    border-width: 0 2px 2px 0;
+    display: inline-block;
+    padding: 2px;
+}
+
+th.collection-as-table i.asc {
+    transform: rotate(-135deg);
+    -webkit-transform: rotate(-135deg);
+}
+
+th.collection-as-table i.desc {
+    transform: rotate(45deg);
+    -webkit-transform: rotate(45deg);
+}

commit 77899ddd2a870e24a17597238b99960ee3985b94
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Tue Oct 2 02:53:31 2018 +0800

    Test order indicator in search results header

diff --git a/t/web/query_builder.t b/t/web/query_builder.t
index 89e89f570..40cb05876 100644
--- a/t/web/query_builder.t
+++ b/t/web/query_builder.t
@@ -312,6 +312,7 @@ diag "make sure skipped order by field doesn't break search";
 
     $agent->follow_link_ok({id => 'page-edit_search'});
     $agent->form_name('BuildQuery');
+    $agent->field('Order', 'DESC', 1);
     $agent->field("OrderBy", 'Requestor.EmailAddress', 3);
     $agent->submit;
     $agent->form_name('BuildQuery');
@@ -320,6 +321,11 @@ diag "make sure skipped order by field doesn't break search";
     is $agent->value('OrderBy', 3), 'Requestor.EmailAddress';
 
     $agent->follow_link_ok({id => 'page-results'});
+    $agent->text_contains('# 1', 'order number 1');
+    $agent->content_contains('1 <i class="desc"></i>', 'arrow 1');
+    $agent->text_contains('Requestor 2', 'order number 2');
+    $agent->content_contains('2 <i class="asc"></i>', 'arrow 2');
+
     ok( $agent->find_link(
         text      => $t->id,
         url_regex => qr{/Ticket/Display\.html},

-----------------------------------------------------------------------


More information about the rt-commit mailing list