Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-09-06 13:55:23 +0300
committerPhil Hughes <me@iamphill.com>2017-09-06 13:55:23 +0300
commitde82bd8e447ae7b4b7e66f0368f5f43311848186 (patch)
tree19e49f95e95d12f995176b33a84ff894e6ccfc19 /app
parent68e9372acd2285055df70cdf84665febfb496166 (diff)
fixed up JS to use a js-* class
fixed up Ruby based on review
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/breadcrumb.js10
-rw-r--r--app/assets/stylesheets/new_nav.scss2
-rw-r--r--app/helpers/breadcrumbs_helper.rb6
-rw-r--r--app/helpers/groups_helper.rb4
-rw-r--r--app/helpers/page_layout_helper.rb6
-rw-r--r--app/helpers/projects_helper.rb4
-rw-r--r--app/helpers/wiki_helper.rb2
-rw-r--r--app/views/layouts/nav/_breadcrumbs.html.haml2
8 files changed, 20 insertions, 16 deletions
diff --git a/app/assets/javascripts/breadcrumb.js b/app/assets/javascripts/breadcrumb.js
index 7433fcbbad1..10fbcfe96cf 100644
--- a/app/assets/javascripts/breadcrumb.js
+++ b/app/assets/javascripts/breadcrumb.js
@@ -1,5 +1,7 @@
export const addTooltipToEl = (el) => {
- if (el.scrollWidth > el.offsetWidth) {
+ const textEl = el.querySelector('.js-breadcrumb-item-text');
+
+ if (textEl && textEl.scrollWidth > textEl.offsetWidth) {
el.setAttribute('title', el.textContent);
el.setAttribute('data-container', 'body');
el.classList.add('has-tooltip');
@@ -7,10 +9,12 @@ export const addTooltipToEl = (el) => {
};
export default () => {
- const breadcrumbs = document.querySelector('.breadcrumbs-list');
+ const breadcrumbs = document.querySelector('.js-breadcrumbs-list');
if (breadcrumbs) {
- const topLevelLinks = breadcrumbs.querySelectorAll('.breadcrumbs-list > li > a');
+ const topLevelLinks = [...breadcrumbs.children].filter(el => !el.classList.contains('dropdown'))
+ .map(el => el.querySelector('a'))
+ .filter(el => el);
const $expander = $('.js-breadcrumbs-collapsed-expander');
topLevelLinks.forEach(el => addTooltipToEl(el));
diff --git a/app/assets/stylesheets/new_nav.scss b/app/assets/stylesheets/new_nav.scss
index 1a0296e6f9c..3ea67c76503 100644
--- a/app/assets/stylesheets/new_nav.scss
+++ b/app/assets/stylesheets/new_nav.scss
@@ -365,7 +365,7 @@ header.navbar-gitlab-new {
}
}
-.breadcrumb-item-project-name {
+.breadcrumb-item-text {
@include str-truncated(128px);
}
diff --git a/app/helpers/breadcrumbs_helper.rb b/app/helpers/breadcrumbs_helper.rb
index d4c3e1b3929..ee1b7ed083e 100644
--- a/app/helpers/breadcrumbs_helper.rb
+++ b/app/helpers/breadcrumbs_helper.rb
@@ -25,15 +25,13 @@ module BreadcrumbsHelper
def breadcrumb_list_item(link)
content_tag "li" do
- output = link
- output << icon("angle-right", class: "breadcrumbs-list-angle")
- output
+ link + icon("angle-right", class: "breadcrumbs-list-angle")
end
end
def add_to_breadcrumb_dropdown(link, location: :before)
@breadcrumb_dropdown_links ||= {}
- @breadcrumb_dropdown_links[location] = [] unless @breadcrumb_dropdown_links[location]
+ @breadcrumb_dropdown_links[location] ||= []
@breadcrumb_dropdown_links[location] << link
end
end
diff --git a/app/helpers/groups_helper.rb b/app/helpers/groups_helper.rb
index 05640d3cf3f..d330bd644e5 100644
--- a/app/helpers/groups_helper.rb
+++ b/app/helpers/groups_helper.rb
@@ -36,7 +36,7 @@ module GroupsHelper
else
group_title_link(group)
end
- full_title += ' &middot; '.html_safe + link_to(simple_sanitize(name), url, class: 'group-path') if name
+ full_title += ' &middot; '.html_safe + link_to(simple_sanitize(name), url, class: 'group-path breadcrumb-item-text js-breadcrumb-item-text') if name
if show_new_nav?
full_title.html_safe
@@ -84,7 +84,7 @@ module GroupsHelper
private
def group_title_link(group, hidable: false, show_avatar: false)
- link_to(group_path(group), class: "group-path #{'hidable' if hidable}") do
+ link_to(group_path(group), class: "group-path breadcrumb-item-text js-breadcrumb-item-text #{'hidable' if hidable}") do
output =
if (show_new_nav? && group.try(:avatar_url) || (show_new_nav? && show_avatar)) && !Rails.env.test?
image_tag(group_icon(group), class: "avatar-tile", width: 15, height: 15)
diff --git a/app/helpers/page_layout_helper.rb b/app/helpers/page_layout_helper.rb
index e2ed8f7cdff..d2b2bd4b451 100644
--- a/app/helpers/page_layout_helper.rb
+++ b/app/helpers/page_layout_helper.rb
@@ -80,10 +80,12 @@ module PageLayoutHelper
@header_title = title
@header_title_url = title_url
else
+ return @header_title unless @header_title_url
+
if show_new_nav?
- @header_title_url ? breadcrumb_list_item(link_to(@header_title, @header_title_url)) : @header_title
+ breadcrumb_list_item(link_to(@header_title, @header_title_url))
else
- @header_title_url ? link_to(@header_title, @header_title_url) : @header_title
+ link_to(@header_title, @header_title_url)
end
end
end
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 070bc163e75..9b6acedb40f 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -68,12 +68,12 @@ module ProjectsHelper
""
end
- output << content_tag("span", simple_sanitize(project.name), class: "breadcrumb-item-project-name")
+ output << content_tag("span", simple_sanitize(project.name), class: "breadcrumb-item-text js-breadcrumb-item-text")
output.html_safe
end
if show_new_nav?
- namespace_link = breadcrumb_list_item(namespace_link) if project.group.nil?
+ namespace_link = breadcrumb_list_item(namespace_link) unless project.group
project_link = breadcrumb_list_item project_link
end
diff --git a/app/helpers/wiki_helper.rb b/app/helpers/wiki_helper.rb
index 3d26c92e58a..815fab9e061 100644
--- a/app/helpers/wiki_helper.rb
+++ b/app/helpers/wiki_helper.rb
@@ -17,7 +17,7 @@ module WikiHelper
current_slug = ""
page_slug_split
.map do |dir_or_page|
- current_slug = "#{current_slug}/#{dir_or_page}"
+ current_slug = "#{current_slug}#{dir_or_page}/"
add_to_breadcrumb_dropdown link_to(WikiPage.unhyphenize(dir_or_page).capitalize, project_wiki_path(@project, current_slug)), location: :after
end
end
diff --git a/app/views/layouts/nav/_breadcrumbs.html.haml b/app/views/layouts/nav/_breadcrumbs.html.haml
index cc2cfff85ba..3538646359e 100644
--- a/app/views/layouts/nav/_breadcrumbs.html.haml
+++ b/app/views/layouts/nav/_breadcrumbs.html.haml
@@ -8,7 +8,7 @@
%span.sr-only Open sidebar
= icon ('bars')
.breadcrumbs-links.js-title-container
- %ul.list-unstyled.breadcrumbs-list
+ %ul.list-unstyled.breadcrumbs-list.js-breadcrumbs-list
- unless hide_top_links
= header_title
- if @breadcrumbs_extra_links