Commit 0cdaf2cc authored by Phil Hughes's avatar Phil Hughes

Merge branch 'replace-snake-case-css-classes' into 'master'

Replace author_link snake case in stylesheets, specs, and helpers

Closes #30921

See merge request gitlab-org/gitlab-ce!20797
parents 83a64380 e4e824c1
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
by by
<a <a
:href="updatedByPath" :href="updatedByPath"
class="author_link" class="author-link"
> >
<span>{{ updatedByName }}</span> <span>{{ updatedByName }}</span>
</a> </a>
......
...@@ -42,7 +42,7 @@ export default { ...@@ -42,7 +42,7 @@ export default {
by by
<a <a
:href="editedBy.path" :href="editedBy.path"
class="js-vue-author author_link"> class="js-vue-author author-link">
{{ editedBy.name }} {{ editedBy.name }}
</a> </a>
</template> </template>
......
...@@ -187,7 +187,7 @@ export default { ...@@ -187,7 +187,7 @@ export default {
<template v-else-if="hasOneUser"> <template v-else-if="hasOneUser">
<a <a
:href="assigneeUrl(firstUser)" :href="assigneeUrl(firstUser)"
class="author_link bold" class="author-link bold"
> >
<img <img
:alt="assigneeAlt(firstUser)" :alt="assigneeAlt(firstUser)"
......
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
> >
<a <a
:href="participant.web_url" :href="participant.web_url"
class="author_link" class="author-link"
> >
<user-avatar-image <user-avatar-image
:lazy="true" :lazy="true"
......
...@@ -206,8 +206,8 @@ function UsersSelect(currentUser, els, options = {}) { ...@@ -206,8 +206,8 @@ function UsersSelect(currentUser, els, options = {}) {
return $collapsedSidebar.html(collapsedAssigneeTemplate(user)); return $collapsedSidebar.html(collapsedAssigneeTemplate(user));
}); });
}; };
collapsedAssigneeTemplate = _.template('<% if( avatar ) { %> <a class="author_link" href="/<%- username %>"> <img width="24" class="avatar avatar-inline s24" alt="" src="<%- avatar %>"> </a> <% } else { %> <i class="fa fa-user"></i> <% } %>'); collapsedAssigneeTemplate = _.template('<% if( avatar ) { %> <a class="author-link" href="/<%- username %>"> <img width="24" class="avatar avatar-inline s24" alt="" src="<%- avatar %>"> </a> <% } else { %> <i class="fa fa-user"></i> <% } %>');
assigneeTemplate = _.template('<% if (username) { %> <a class="author_link bold" href="/<%- username %>"> <% if( avatar ) { %> <img width="32" class="avatar avatar-inline s32" alt="" src="<%- avatar %>"> <% } %> <span class="author"><%- name %></span> <span class="username"> @<%- username %> </span> </a> <% } else { %> <span class="no-value assign-yourself"> No assignee - <a href="#" class="js-assign-yourself"> assign yourself </a> </span> <% } %>'); assigneeTemplate = _.template('<% if (username) { %> <a class="author-link bold" href="/<%- username %>"> <% if( avatar ) { %> <img width="32" class="avatar avatar-inline s32" alt="" src="<%- avatar %>"> <% } %> <span class="author"><%- name %></span> <span class="username"> @<%- username %> </span> </a> <% } else { %> <span class="no-value assign-yourself"> No assignee - <a href="#" class="js-assign-yourself"> assign yourself </a> </span> <% } %>');
return $dropdown.glDropdown({ return $dropdown.glDropdown({
showMenuAbove: showMenuAbove, showMenuAbove: showMenuAbove,
data: function(term, callback) { data: function(term, callback) {
......
...@@ -113,8 +113,6 @@ hr { ...@@ -113,8 +113,6 @@ hr {
.item-title { font-weight: $gl-font-weight-bold; } .item-title { font-weight: $gl-font-weight-bold; }
/** FLASH message **/
.author_link,
.author-link { .author-link {
color: $gl-link-color; color: $gl-link-color;
} }
......
...@@ -259,7 +259,7 @@ ul.controls { ...@@ -259,7 +259,7 @@ ul.controls {
margin-right: 0; margin-right: 0;
} }
.author_link { .author-link {
.avatar-inline { .avatar-inline {
margin-left: 0; margin-left: 0;
margin-right: 0; margin-right: 0;
...@@ -270,7 +270,7 @@ ul.controls { ...@@ -270,7 +270,7 @@ ul.controls {
.issuable-pipeline-broken a, .issuable-pipeline-broken a,
.issuable-pipeline-status a, .issuable-pipeline-status a,
.author_link { .author-link {
display: flex; display: flex;
} }
} }
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
} }
.issue_created_ago, .issue_created_ago,
.author_link { .author-link {
white-space: nowrap; white-space: nowrap;
} }
......
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
} }
&.assignee { &.assignee {
.author_link { .author-link {
display: block; display: block;
padding-left: 42px; padding-left: 42px;
position: relative; position: relative;
...@@ -486,7 +486,7 @@ ...@@ -486,7 +486,7 @@
padding-bottom: 0; padding-bottom: 0;
margin-bottom: 10px; margin-bottom: 10px;
.author_link { .author-link {
padding-left: 0; padding-left: 0;
.avatar { .avatar {
...@@ -595,7 +595,7 @@ ...@@ -595,7 +595,7 @@
margin: 16px 0 0; margin: 16px 0 0;
font-size: 85%; font-size: 85%;
.author_link { .author-link {
color: $gray-darkest; color: $gray-darkest;
} }
} }
...@@ -620,7 +620,7 @@ ...@@ -620,7 +620,7 @@
padding-right: 0; padding-right: 0;
} }
.author_link { .author-link {
display: block; display: block;
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
} }
.issuable-meta { .issuable-meta {
.author_link { .author-link {
display: inline-block; display: inline-block;
} }
......
...@@ -403,7 +403,7 @@ ul.notes { ...@@ -403,7 +403,7 @@ ul.notes {
} }
} }
.author_link { .author-link {
color: $gl-text-color; color: $gl-text-color;
} }
} }
......
...@@ -63,10 +63,10 @@ module ProjectsHelper ...@@ -63,10 +63,10 @@ module ProjectsHelper
author_html = author_html.html_safe author_html = author_html.html_safe
if opts[:name] if opts[:name]
link_to(author_html, user_path(author), class: "author_link #{"#{opts[:extra_class]}" if opts[:extra_class]} #{"#{opts[:mobile_classes]}" if opts[:mobile_classes]}").html_safe link_to(author_html, user_path(author), class: "author-link #{"#{opts[:extra_class]}" if opts[:extra_class]} #{"#{opts[:mobile_classes]}" if opts[:mobile_classes]}").html_safe
else else
title = opts[:title].sub(":name", sanitize(author.name)) title = opts[:title].sub(":name", sanitize(author.name))
link_to(author_html, user_path(author), class: "author_link has-tooltip", title: title, data: { container: 'body' }).html_safe link_to(author_html, user_path(author), class: "author-link has-tooltip", title: title, data: { container: 'body' }).html_safe
end end
end end
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
.flash-container.timeline-content .flash-container.timeline-content
.timeline-icon.d-none.d-sm-none.d-md-block .timeline-icon.d-none.d-sm-none.d-md-block
%a.author_link{ href: user_path(current_user) } %a.author-link{ href: user_path(current_user) }
= image_tag avatar_icon_for_user(current_user), alt: current_user.to_reference, class: 'avatar s40' = image_tag avatar_icon_for_user(current_user), alt: current_user.to_reference, class: 'avatar s40'
.timeline-content.timeline-content-form .timeline-content.timeline-content-form
= render "shared/notes/form", view: diff_view, supports_autocomplete: autocomplete = render "shared/notes/form", view: diff_view, supports_autocomplete: autocomplete
......
---
title: Replace author_link snake case in stylesheets, specs, and helpers
merge_request: 20797
author: George Tsiolis
type: other
...@@ -49,7 +49,7 @@ describe 'Multiple issue updating from issues#index', :js do ...@@ -49,7 +49,7 @@ describe 'Multiple issue updating from issues#index', :js do
click_update_issues_button click_update_issues_button
page.within('.issue .controls') do page.within('.issue .controls') do
expect(find('.author_link')["title"]).to have_content(user.name) expect(find('.author-link')["title"]).to have_content(user.name)
end end
end end
...@@ -63,7 +63,7 @@ describe 'Multiple issue updating from issues#index', :js do ...@@ -63,7 +63,7 @@ describe 'Multiple issue updating from issues#index', :js do
click_link 'Unassigned' click_link 'Unassigned'
click_update_issues_button click_update_issues_button
expect(find('.issue:first-child .controls')).not_to have_css('.author_link') expect(find('.issue:first-child .controls')).not_to have_css('.author-link')
end end
end end
......
...@@ -47,7 +47,7 @@ describe 'Merge requests > User mass updates', :js do ...@@ -47,7 +47,7 @@ describe 'Merge requests > User mass updates', :js do
change_assignee(user.name) change_assignee(user.name)
page.within('.merge-request .controls') do page.within('.merge-request .controls') do
expect(find('.author_link')["title"]).to have_content(user.name) expect(find('.author-link')["title"]).to have_content(user.name)
end end
end end
end end
...@@ -62,7 +62,7 @@ describe 'Merge requests > User mass updates', :js do ...@@ -62,7 +62,7 @@ describe 'Merge requests > User mass updates', :js do
it 'removes assignee from the merge request' do it 'removes assignee from the merge request' do
change_assignee('Unassigned') change_assignee('Unassigned')
expect(find('.merge-request .controls')).not_to have_css('.author_link') expect(find('.merge-request .controls')).not_to have_css('.author-link')
end end
end end
end end
......
...@@ -76,7 +76,7 @@ describe('Issuable output', () => { ...@@ -76,7 +76,7 @@ describe('Issuable output', () => {
expect(vm.$el.querySelector('.wiki').innerHTML).toContain('<p>this is a description!</p>'); expect(vm.$el.querySelector('.wiki').innerHTML).toContain('<p>this is a description!</p>');
expect(vm.$el.querySelector('.js-task-list-field').value).toContain('this is a description'); expect(vm.$el.querySelector('.js-task-list-field').value).toContain('this is a description');
expect(formatText(editedText.innerText)).toMatch(/Edited[\s\S]+?by Some User/); expect(formatText(editedText.innerText)).toMatch(/Edited[\s\S]+?by Some User/);
expect(editedText.querySelector('.author_link').href).toMatch(/\/some_user$/); expect(editedText.querySelector('.author-link').href).toMatch(/\/some_user$/);
expect(editedText.querySelector('time')).toBeTruthy(); expect(editedText.querySelector('time')).toBeTruthy();
}) })
.then(() => { .then(() => {
...@@ -90,7 +90,7 @@ describe('Issuable output', () => { ...@@ -90,7 +90,7 @@ describe('Issuable output', () => {
expect(vm.$el.querySelector('.js-task-list-field').value).toContain('42'); expect(vm.$el.querySelector('.js-task-list-field').value).toContain('42');
expect(vm.$el.querySelector('.edited-text')).toBeTruthy(); expect(vm.$el.querySelector('.edited-text')).toBeTruthy();
expect(formatText(vm.$el.querySelector('.edited-text').innerText)).toMatch(/Edited[\s\S]+?by Other User/); expect(formatText(vm.$el.querySelector('.edited-text').innerText)).toMatch(/Edited[\s\S]+?by Other User/);
expect(editedText.querySelector('.author_link').href).toMatch(/\/other_user$/); expect(editedText.querySelector('.author-link').href).toMatch(/\/other_user$/);
expect(editedText.querySelector('time')).toBeTruthy(); expect(editedText.querySelector('time')).toBeTruthy();
}) })
.then(done) .then(done)
......
...@@ -18,7 +18,7 @@ describe('edited', () => { ...@@ -18,7 +18,7 @@ describe('edited', () => {
}).$mount(); }).$mount();
expect(formatText(editedComponent.$el.innerText)).toMatch(/Edited[\s\S]+?by Some User/); expect(formatText(editedComponent.$el.innerText)).toMatch(/Edited[\s\S]+?by Some User/);
expect(editedComponent.$el.querySelector('.author_link').href).toMatch(/\/some_user$/); expect(editedComponent.$el.querySelector('.author-link').href).toMatch(/\/some_user$/);
expect(editedComponent.$el.querySelector('time')).toBeTruthy(); expect(editedComponent.$el.querySelector('time')).toBeTruthy();
}); });
...@@ -31,7 +31,7 @@ describe('edited', () => { ...@@ -31,7 +31,7 @@ describe('edited', () => {
}).$mount(); }).$mount();
expect(formatText(editedComponent.$el.innerText)).toMatch(/Edited by Some User/); expect(formatText(editedComponent.$el.innerText)).toMatch(/Edited by Some User/);
expect(editedComponent.$el.querySelector('.author_link').href).toMatch(/\/some_user$/); expect(editedComponent.$el.querySelector('.author-link').href).toMatch(/\/some_user$/);
expect(editedComponent.$el.querySelector('time')).toBeFalsy(); expect(editedComponent.$el.querySelector('time')).toBeFalsy();
}); });
...@@ -43,7 +43,7 @@ describe('edited', () => { ...@@ -43,7 +43,7 @@ describe('edited', () => {
}).$mount(); }).$mount();
expect(formatText(editedComponent.$el.innerText)).not.toMatch(/by Some User/); expect(formatText(editedComponent.$el.innerText)).not.toMatch(/by Some User/);
expect(editedComponent.$el.querySelector('.author_link')).toBeFalsy(); expect(editedComponent.$el.querySelector('.author-link')).toBeFalsy();
expect(editedComponent.$el.querySelector('time')).toBeTruthy(); expect(editedComponent.$el.querySelector('time')).toBeTruthy();
}); });
......
...@@ -102,13 +102,13 @@ describe('Assignee component', () => { ...@@ -102,13 +102,13 @@ describe('Assignee component', () => {
}, },
}).$mount(); }).$mount();
expect(component.$el.querySelector('.author_link')).not.toBeNull(); expect(component.$el.querySelector('.author-link')).not.toBeNull();
// The image // The image
expect(component.$el.querySelector('.author_link img').getAttribute('src')).toEqual(UsersMock.user.avatar); expect(component.$el.querySelector('.author-link img').getAttribute('src')).toEqual(UsersMock.user.avatar);
// Author name // Author name
expect(component.$el.querySelector('.author_link .author').innerText.trim()).toEqual(UsersMock.user.name); expect(component.$el.querySelector('.author-link .author').innerText.trim()).toEqual(UsersMock.user.name);
// Username // Username
expect(component.$el.querySelector('.author_link .username').innerText.trim()).toEqual(`@${UsersMock.user.username}`); expect(component.$el.querySelector('.author-link .username').innerText.trim()).toEqual(`@${UsersMock.user.username}`);
}); });
it('has the root url present in the assigneeUrl method', () => { it('has the root url present in the assigneeUrl method', () => {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment