[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