[Rt-commit] rt branch, 5.0/search-navigation-menu-on-ticket-display, repushed

Craig Kaiser craig at bestpractical.com
Mon Mar 23 11:27:28 EDT 2020


The branch 5.0/search-navigation-menu-on-ticket-display was deleted and repushed:
       was f73b0b8b772d739ead95f28143a3ff26ac40a573
       now 62c303b6fb8f4e720a1c2da2687ff465a01cd7dc

1: f73b0b8b77 ! 1: 62c303b6fb Add search navigation menu to ticket display page
    @@ -5,14 +5,6 @@
     diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
     --- a/lib/RT/Interface/Web.pm
     +++ b/lib/RT/Interface/Web.pm
    -@@
    - 
    - sub InitializeMenu {
    -     $HTML::Mason::Commands::m->notes('menu', RT::Interface::Web::Menu->new());
    -+    # $HTML::Mason::Commands::m->notes('search-results-page-menu', RT::Interface::Web::Menu->new());
    -     $HTML::Mason::Commands::m->notes('page-menu', RT::Interface::Web::Menu->new());
    -     $HTML::Mason::Commands::m->notes('page-widgets', RT::Interface::Web::Menu->new());
    - 
     @@
          return $HTML::Mason::Commands::m->notes('menu');
      }
    @@ -49,10 +41,9 @@
     --- a/lib/RT/Interface/Web/MenuBuilder.pm
     +++ b/lib/RT/Interface/Web/MenuBuilder.pm
     @@
    -         }
          }
      
    --
    + 
     +    my $search_results_page_menu;
          if ( $request_path =~ m{^/Ticket/} ) {
              if ( ( $HTML::Mason::Commands::DECODED_ARGS->{'id'} || '' ) =~ /^(\d+)$/ ) {
    @@ -62,8 +53,7 @@
                          }
      
     -                    my $search = $top->child('search')->child('tickets');
    -+                    $HTML::Mason::Commands::m->notes('search-results-page-menu', RT::Interface::Web::Menu->new());
    -+                    $search_results_page_menu = HTML::Mason::Commands::SearchResultsPageMenu();
    ++                    $search_results_page_menu = $HTML::Mason::Commands::m->notes('search-results-page-menu', RT::Interface::Web::Menu->new());
     +
                          # Don't display prev links if we're on the first ticket
                          if ( $item_map->{$id}->{prev} ) {
    @@ -95,7 +85,7 @@
                  $current_search_menu = $search->child( current_search => title => loc('Current Search') );
                  $current_search_menu->path("/Search/Results.html$args") if $has_query;
     +
    -+            if ( $search_results_page_menu ) {
    ++            if ( $search_results_page_menu && $has_query ) {
     +                my $page_current_search = $search_results_page_menu->child( current_search => title => loc('< Back to search'), sort_order => -1 );
     +                $page_current_search->path("/Search/Results.html$args") if $has_query;
     +            }
    @@ -103,27 +93,43 @@
              else {
                  $current_search_menu = $page;
     
    +diff --git a/share/html/Elements/PageLayout b/share/html/Elements/PageLayout
    +--- a/share/html/Elements/PageLayout
    ++++ b/share/html/Elements/PageLayout
    +@@
    + 
    + % if ( $show_menu ) {
    + <div id="main-navigation"><& /Elements/Menu, menu => Menu(), id => 'app-nav' &></div>
    +-<div id="page-navigation" class="btn-group page-nav-shadow"><& /Elements/Menu, menu => PageMenu(), id => 'page-menu', 'parent_id' => 'page' &></div>
    ++<div id="page-navigation" class="btn-group page-nav-shadow"><& /Elements/Menu, menu => PageMenu(), id => 'page-menu', class => 'page-menu', 'parent_id' => 'page' &></div>
    + % }
    + <div id="topactions"><& /Elements/WidgetBar, menu => PageWidgets() &></div>
    + 
    +
     diff --git a/share/html/NoAuth/css/elevator-light/AfterMenus b/share/html/NoAuth/css/elevator-light/AfterMenus
     --- a/share/html/NoAuth/css/elevator-light/AfterMenus
     +++ b/share/html/NoAuth/css/elevator-light/AfterMenus
     @@
    + <script type="text/javascript">
    + var initMenus = function() {
          jQuery("#app-nav.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').superfish({ speed: 'fast' });
    -     jQuery("#page-menu.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').superfish({ speed: 'fast' }).supposition();
    - 
    -+    jQuery("#search-results-page-menu.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').superfish({ speed: 'fast' }).supposition();
    -+
    -     var originalOffset = jQuery("#page-menu").offset().top;
    +-    jQuery("#page-menu.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').superfish({ speed: 'fast' }).supposition();
    ++    jQuery(".page-menu.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').superfish({ speed: 'fast' }).supposition();
    + 
    +-    var originalOffset = jQuery("#page-menu").offset().top;
    ++    var originalOffset = jQuery(".page-menu").offset().top;
          var floatMenu      = function () {
    -         jQuery("#page-menu").toggleClass("pinned", jQuery(document).scrollTop() > originalOffset);
    -+        jQuery("#search-results-page-menu").toggleClass("pinned", jQuery(document).scrollTop() > originalOffset);
    +-        jQuery("#page-menu").toggleClass("pinned", jQuery(document).scrollTop() > originalOffset);
    ++        jQuery(".page-menu").toggleClass("pinned", jQuery(document).scrollTop() > originalOffset);
          };
          floatMenu();
          jQuery(window).scroll(floatMenu);
     @@
    +     jQuery('#li-page-overflow-will_be_deleted').remove();
      
          rebalanceOverflowMenu('#app-nav', '#li-overflow');
    -     rebalanceOverflowMenu('#page-menu', '#li-page-overflow');
    -+    rebalanceOverflowMenu('#search-results-page-menu', '#li-page-overflow');
    +-    rebalanceOverflowMenu('#page-menu', '#li-page-overflow');
    ++    rebalanceOverflowMenu('.page-menu', '#li-page-overflow');
      };
      
      // If everything is loaded, init NOW.  Otherwise, defer to DOM ready.
    @@ -135,7 +141,7 @@
      my $url = "?HideUnsetFields=" . ($HideUnsetFields ? 0 : 1) . ";id=$ARGS{id}";
      my $url_html = $m->interp->apply_escapes($url, 'h');
      
    -+my $search_menu = $m->scomp( '/Elements/Menu', menu => SearchResultsPageMenu(), class => 'btn-group page-nav-shadow sf-menu sf-js-enabled sf-shadow', id => 'search-results-page-menu', 'parent_id' => 'page' );
    ++my $search_menu = $m->scomp( '/Elements/Menu', menu => SearchResultsPageMenu(), class => 'page-menu btn-group page-nav-shadow sf-menu sf-js-enabled sf-shadow', id => 'search-results-page-menu', 'parent_id' => 'page' );
      my $alt = loc('Edit');
      my $titleright = qq{
      <div class="btn-group dropdown">
    @@ -150,63 +156,113 @@
     --- a/share/static/css/elevator-light/nav.css
     +++ b/share/static/css/elevator-light/nav.css
     @@
    +     text-color: #000;
    + }
    + 
    +-#page-menu.sf-menu a,
    ++.page-menu.sf-menu a,
    + #main-navigation .sf-menu a,
    + #main-navigation .sf-menu a:hover {
    +     padding-top: 0.5em;
    +@@
    +     border-bottom: none;
    + }
    + 
    +-#page-navigation #page-menu {
    ++#page-navigation .page-menu {
    +     float: right;
    +     width: auto;
    + }
    +@@
    + 
    + /* Pin page menu to top left corner once you scroll past it */
    + 
    +-#page-navigation #page-menu.pinned {
    ++#page-navigation .page-menu.pinned {
    +     position: fixed;
    +     top: 0;
    +     right: 0;
    +@@
    +     -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    + }
    + 
    +-#page-menu.pinned li:hover ul,
    +-#page-menu.pinned li.sfHover ul {
    ++.page-menu.pinned li:hover ul,
    ++.page-menu.pinned li.sfHover ul {
    +     border-left: 1px #aaa solid;
    +     border-right: 1px #aaa solid;
    +     z-index: -1 !important; /* relative to current stacking context */
    +@@
    + 
    + /* round off the corner of the first menu item so it matches the container */
    + 
    +-#page-menu.pinned > li:first-of-type,
    +-#page-menu.pinned > li:first-of-type > a {
    ++.page-menu.pinned > li:first-of-type,
    ++.page-menu.pinned > li:first-of-type > a {
    +     border-radius: 0 0 0 5px;
    +     -moz-border-radius: 0 0 0 5px;
    +     -webkit-border-radius: 0 0 0 5px;
    +@@
    +     display: block
    + }
    + 
    +-#page-menu.toplevel {
    ++.page-menu.toplevel {
    +     display: none
    + }
    + 
    +-#page-menu.toplevel.sf-menu {
    ++.page-menu.toplevel.sf-menu {
    +     display: block
    + }
    + 
    + /* be overly specific to defeat specificity */
    + #app-nav.sf-menu > li#li-overflow,
    +-#page-menu.sf-menu > li#li-page-overflow {
    ++.page-menu.sf-menu > li#li-page-overflow {
    +     display: none;
    + }
    + #app-nav.sf-menu > li#li-overflow.has-overflow,
    +-#page-menu.sf-menu > li#li-page-overflow.has-overflow {
    ++.page-menu.sf-menu > li#li-page-overflow.has-overflow {
    +     display: inline-block;
    + }
    + 
    + /* these two rules prevent the menus from wrapping, so that our overflow
    +    calculations can work */
    + #app-nav.sf-menu > li,
    +-#page-menu.sf-menu > li {
    ++.page-menu.sf-menu > li {
    +     float: none;
    +     display: inline-block;
    + }
    + #app-nav.sf-menu,
    +-#page-menu.sf-menu {
    ++.page-menu.sf-menu {
    +     white-space: nowrap;
    +     margin-bottom: 0;
    + }
    + 
    +-#page-menu.sf-menu > li > span > a,
    +-#page-menu.sf-menu > li > a {
    ++.page-menu.sf-menu > li > span > a,
    ++.page-menu.sf-menu > li > a {
    +     padding-top: .3em;
    +     padding-bottom: .25em;
    +     border-radius: 0;
    + }
    + 
    +-#page-menu.sf-menu > li {
    ++.page-menu.sf-menu > li {
    +     float: left;
    +     border-color: #E0E6EC;
    +     border-right-style: solid;
    +@@
              min-width: 2em;
          }
      }
    -+
    -+#search-results-page-menu.sf-menu {
    -+    white-space: nowrap;
    -+    margin-bottom: 0;
    -+}
    -+
    -+#search-results-page-menu.sf-menu > li > span > a,
    -+#search-results-page-menu.sf-menu > li > a {
    -+    padding-top: .3em;
    -+    padding-bottom: .25em;
    -+    border-radius: 0;
    -+}
    -+
    -+#search-results-page-menu.sf-menu > li {
    -+    float: left;
    -+    border-color: #E0E6EC;
    -+    border-right-style: solid;
    -+    border-right-width: 1px;
    -+    border-left-style: solid;
    -+    border-left-width: 1px;
    -+}
    -+
    -+#search-results-page-menu.sf-menu a,
    -+#main-navigation .sf-menu a,
    -+#main-navigation .sf-menu a:hover {
    -+    padding-top: 0.5em;
    -+    padding-bottom: 0.5em;
    -+    border-radius: 0;
    -+    text-align: left;
    -+}
    -+
    -+#page-navigation #search-results-page-menu {
    -+    float: right;
    -+    width: auto;
    -+}
    -+
    -+#page-navigation #search-results-page-menu.pinned {
    -+    position: fixed;
    -+    top: 0;
    -+    right: 0;
    -+    left: auto;
    -+    width: auto;
    -+    margin-top: 0;
    -+    background: white;
    -+    border-left: 1px #aaa solid;
    -+    border-bottom: 1px #aaa solid;
    -+    border-radius: 0 0 0 5px;
    -+    box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+    /* stupid vendor prefixes */
    -+    -moz-border-radius: 0 0 0 5px;
    -+    -webkit-border-radius: 0 0 0 5px;
    -+    -moz-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+}
     +
     +.search-results-page-menu-container {
     +    padding-right: 5px;



More information about the rt-commit mailing list