From 62dcdef969fe29f43abfbe2653e73ab09b2d1bf6 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon <grzesiek.bizon@gmail.com> Date: Fri, 26 Feb 2016 10:52:00 +0100 Subject: [PATCH] Improve cross project label look and feel --- app/helpers/labels_helper.rb | 11 ++++++----- spec/lib/banzai/filter/label_reference_filter_spec.rb | 10 ++++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/helpers/labels_helper.rb b/app/helpers/labels_helper.rb index 122f50081..37fc1dab8 100644 --- a/app/helpers/labels_helper.rb +++ b/app/helpers/labels_helper.rb @@ -50,22 +50,23 @@ module LabelsHelper @project.labels.pluck(:title) end - def render_colored_label(label, label_prefix = '') + def render_colored_label(label, label_suffix = '') label_color = label.color || Label::DEFAULT_COLOR text_color = text_color_for_bg(label_color) # Intentionally not using content_tag here so that this method can be called # by LabelReferenceFilter span = %(<span class="label color-label") + - %( style="background-color: #{label_color}; color: #{text_color}">) + - label_prefix + escape_once(label.name) + '</span>' + %(style="background-color: #{label_color}; color: #{text_color}">) + + %(#{escape_once(label.name)}#{label_suffix}</span>) span.html_safe end def render_colored_cross_project_label(label) - label_prefix = "#{label.project.path_with_namespace} » " - render_colored_label(label, label_prefix) + label_suffix = label.project.name + label_suffix = " <i>« #{label_suffix}</i>" + render_colored_label(label, label_suffix) end def suggested_colors diff --git a/spec/lib/banzai/filter/label_reference_filter_spec.rb b/spec/lib/banzai/filter/label_reference_filter_spec.rb index 96a403f26..8786095fb 100644 --- a/spec/lib/banzai/filter/label_reference_filter_spec.rb +++ b/spec/lib/banzai/filter/label_reference_filter_spec.rb @@ -178,7 +178,8 @@ describe Banzai::Filter::LabelReferenceFilter, lib: true do end describe 'cross project label references' do - let(:another_project) { create(:empty_project, :public) } + let(:project_name) { 'Some project' } + let(:another_project) { create(:empty_project, :public, name: project_name) } let(:label) { create(:label, project: another_project, color: '#00ff00') } let(:reference) { label.to_reference(project) } @@ -192,7 +193,12 @@ describe Banzai::Filter::LabelReferenceFilter, lib: true do end it 'has valid color' do - expect(result.css('a span').first.attr('style')).to match /background-color: #00ff00/ + expect(result.css('a span').first.attr('style')) + .to match /background-color: #00ff00/ + end + + it 'contains cross project content' do + expect(result.css('a').first.text).to eq "#{label.name} « #{project_name}" end end end -- 2.30.9