diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 12:08:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 12:08:42 +0300 |
commit | b76ae638462ab0f673e5915986070518dd3f9ad3 (patch) | |
tree | bdab0533383b52873be0ec0eb4d3c66598ff8b91 /app/views/shared/projects/_topics.html.haml | |
parent | 434373eabe7b4be9593d18a585fb763f1e5f1a6f (diff) |
Add latest changes from gitlab-org/gitlab@14-2-stable-eev14.2.0-rc42
Diffstat (limited to 'app/views/shared/projects/_topics.html.haml')
-rw-r--r-- | app/views/shared/projects/_topics.html.haml | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/views/shared/projects/_topics.html.haml b/app/views/shared/projects/_topics.html.haml new file mode 100644 index 00000000000..a7429483da1 --- /dev/null +++ b/app/views/shared/projects/_topics.html.haml @@ -0,0 +1,32 @@ +- cache_enabled = false unless local_assigns[:cache_enabled] == true +- max_project_topic_length = 15 +- project_topics_classes = "badge badge-pill badge-secondary gl-mr-2" + +- if project.topics.present? + = cache_if(cache_enabled, [project, :topic_list], expires_in: 1.day) do + %span.gl-w-full.gl-display-inline-flex.gl-font-base.gl-font-weight-normal.gl-align-items-center{ 'data-testid': 'project_topic_list' } + = sprite_icon('tag', css_class: 'icon gl-relative gl-mr-2') + + - project.topics_to_show.each do |topic| + - explore_project_topic_path = explore_projects_path(topic: topic) + - if topic.length > max_project_topic_length + %a{ class: "#{ project_topics_classes } str-truncated-30 has-tooltip", data: { container: "body" }, title: topic, href: explore_project_topic_path, itemprop: 'keywords' } + = truncate(topic, length: max_project_topic_length) + - else + %a{ class: project_topics_classes, href: explore_project_topic_path, itemprop: 'keywords' } + = topic + + - if project.has_extra_topics? + - title = _('More topics') + - content = capture do + %span.gl-display-inline-flex.gl-flex-wrap + - project.topics_not_shown.each do |topic| + - explore_project_topic_path = explore_projects_path(topic: topic) + - if topic.length > max_project_topic_length + %a{ class: "#{ project_topics_classes } gl-mb-3 str-truncated has-tooltip", data: { container: "body" }, title: topic, href: explore_project_topic_path, itemprop: 'keywords' } + = truncate(topic, length: max_project_topic_length) + - else + %a{ class: "#{ project_topics_classes } gl-mb-3", href: explore_project_topic_path, itemprop: 'keywords' } + = topic + .text-nowrap{ role: 'button', tabindex: 0, data: { toggle: 'popover', html: 'true', placement: 'top', title: title, content: content } } + = _("+ %{count} more") % { count: project.count_of_extra_topics_not_shown } |