Skip to content

Commit

Permalink
Squash card wrapper elements to the inner level
Browse files Browse the repository at this point in the history
  • Loading branch information
ncounter committed Apr 17, 2023
1 parent 0cc89f4 commit 333dfac
Show file tree
Hide file tree
Showing 7 changed files with 92 additions and 100 deletions.
2 changes: 1 addition & 1 deletion src/api/app/components/card_component.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
- if delete_button?
.ms-4
= delete_button
.card-body{ class: @extra_classes_for_body }
.card-body
= content
- if actions?
%ul.nav.justify-content-end.mt-auto
Expand Down
6 changes: 0 additions & 6 deletions src/api/app/components/card_component.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,4 @@ class CardComponent < ApplicationComponent
renders_one :header
renders_one :delete_button
renders_many :actions

def initialize(extra_classes_for_body: [])
super

@extra_classes_for_body = extra_classes_for_body
end
end
2 changes: 1 addition & 1 deletion src/api/app/components/token_card_component.html.haml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
= render(CardComponent.new(extra_classes_for_body: ['d-flex', 'flex-column'])) do |component|
= render(CardComponent.new) do |component|
%p.card-text
Id: #{@token.id}
%p.card-text
Expand Down
58 changes: 28 additions & 30 deletions src/api/app/views/webui/groups/_group_members.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,35 @@
%p
This group does not have members.
- else
#group-users
.d-flex.flex-wrap.gap-4.align-self-stretch
- group.users.each do |user|
.group-user
= render(CardComponent.new) do |component|
.row.g-0
.col-md-3
= image_tag_for(user, size: 80, custom_class: 'align-self-center')
.col-md-9
.card-body.py-1
.form-check.mt-2
= check_box_tag("maintainer_#{user.login}", true, group.maintainer?(user), class: 'form-check-input group-maintainership',
name: :maintainer, disabled: !write_access, data: { method: :patch,
url: group_user_path(group_title: group.title, user_login: user.login), remote: true })
%label.form-check-label{ for: "maintainer_#{user.login}" }
Maintainer
%i.fas.fa-spinner.fa-spin.d-none
.d-flex.flex-wrap.gap-4.align-self-stretch#group-users
- group.users.each do |user|
= render(CardComponent.new) do |component|
.row.g-0
.col-md-3
= image_tag_for(user, size: 80, custom_class: 'align-self-center')
.col-md-9
.card-body.py-1
.form-check.mt-2
= check_box_tag("maintainer_#{user.login}", true, group.maintainer?(user), class: 'form-check-input group-maintainership',
name: :maintainer, disabled: !write_access, data: { method: :patch,
url: group_user_path(group_title: group.title, user_login: user.login), remote: true })
%label.form-check-label{ for: "maintainer_#{user.login}" }
Maintainer
%i.fas.fa-spinner.fa-spin.d-none

- component.with_header do
= link_to(user_path(user)) do
= display_name(user)
- component.with_header do
= link_to(user_path(user)) do
= display_name(user)

- component.with_delete_button do
- if policy(GroupsUser.new(group: group, user: user)).destroy?
= link_to('#',
title: 'Remove member from group',
data: { 'bs-toggle': 'modal',
'bs-target': '#delete-group-members-modal',
confirmation_text: "Please confirm deletion of '#{user}' from this group",
action: group_user_path(group_title: group.title, user_login: user.login) }) do
%i.fas.fa-sm.fa-times-circle.text-danger
- component.with_delete_button do
- if policy(GroupsUser.new(group: group, user: user)).destroy?
= link_to('#',
title: 'Remove member from group',
data: { 'bs-toggle': 'modal',
'bs-target': '#delete-group-members-modal',
confirmation_text: "Please confirm deletion of '#{user}' from this group",
action: group_user_path(group_title: group.title, user_login: user.login) }) do
%i.fas.fa-sm.fa-times-circle.text-danger

- if write_access || display_group_email
.pt-4
Expand Down Expand Up @@ -64,5 +62,5 @@
$(this).siblings('i.fa-spinner').toggleClass('d-none');
});
$('#group-users').on('ajax:success', '.group-member-removal', function() {
$(this).parents('.group-user').remove();
$(this).parents('.card').remove();
});
96 changes: 48 additions & 48 deletions src/api/app/views/webui/repositories/_repository_entry.html.haml
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
.col-11.col-md-5.col-lg-3.flex-fill.repository-card
= render(CardComponent.new) do |component|
- if repository.is_dod_repository?
= render partial: 'dod_repository_card_content', locals: { project: project, repository: repository,
available_architectures: available_architectures }
- component.with_delete_button do
- if user_can_modify
= link_to('#', title: 'Delete Repository', data: { 'bs-toggle': 'modal', 'bs-target': '#delete-repository',
action: destroy_repository_path(project: project, target: repository.name), repository: repository.name }) do
%i.fas.fa-times-circle.text-danger
- elsif User.session
.col
= link_to('#', title: 'Request Delete Repository', data: { 'bs-toggle': 'modal', 'bs-target': '#request-delete-repository',
action: project_remove_target_request_path(project: project, target: repository), repository: repository.name }) do
%i.fas.fa-user-times.text-danger

= render(CardComponent.new) do |component|
- if repository.is_dod_repository?
= render partial: 'dod_repository_card_content', locals: { project: project, repository: repository,
available_architectures: available_architectures }
- component.with_delete_button do
- if user_can_modify
- component.with_action do
= link_to('#', title: 'Add Download on Demand Source', class: 'nav-link p-1', data: { 'bs-toggle': 'modal',
'bs-target': "#add-dod-source-modal-#{repository.id}" }) do
%i.fas.fa-plus-circle.text-primary
- else
= render partial: 'repository_card_content', locals: { project: project, repository: repository,
download_url: download_url, user_can_modify: user_can_modify,
available_architectures: available_architectures }
- component.with_delete_button do
- if user_can_modify
= link_to('#', title: 'Delete Repository', data: { 'bs-toggle': 'modal', 'bs-target': '#delete-repository',
action: destroy_repository_path(project: project, target: repository.name), repository: repository.name }) do
%i.fas.fa-times-circle.text-danger
- elsif User.session
= link_to('#', title: 'Delete Repository', data: { 'bs-toggle': 'modal', 'bs-target': '#delete-repository',
action: destroy_repository_path(project: project, target: repository.name), repository: repository.name }) do
%i.fas.fa-times-circle.text-danger
- elsif User.session
.col
= link_to('#', title: 'Request Delete Repository', data: { 'bs-toggle': 'modal', 'bs-target': '#request-delete-repository',
action: project_remove_target_request_path(project: project, repository: repository.name), repository: repository.name }) do
action: project_remove_target_request_path(project: project, target: repository), repository: repository.name }) do
%i.fas.fa-user-times.text-danger
- if user_can_modify
- component.with_action do
= link_to('#', title: 'Add Download on Demand Source', class: 'nav-link p-1', data: { 'bs-toggle': 'modal',
'bs-target': "#add-dod-source-modal-#{repository.id}" }) do
%i.fas.fa-plus-circle.text-primary
- else
= render partial: 'repository_card_content', locals: { project: project, repository: repository,
download_url: download_url, user_can_modify: user_can_modify,
available_architectures: available_architectures }
- component.with_delete_button do
- if user_can_modify
- component.with_action do
= link_to('#', title: 'Edit Repository', class: 'nav-link p-1',
data: { 'bs-toggle': 'modal', 'bs-target': "#edit-repository-#{repository.id}" }) do
%i.fas.fa-edit.text-secondary
- component.with_action do
= link_to('#', title: 'Add Repository Path', class: 'nav-link p-1',
data: { 'bs-toggle': 'modal', 'bs-target': "#add-repository-path-#{repository.id}" }) do
%i.fas.fa-plus-circle.text-primary
= link_to('#', title: 'Delete Repository', data: { 'bs-toggle': 'modal', 'bs-target': '#delete-repository',
action: destroy_repository_path(project: project, target: repository.name), repository: repository.name }) do
%i.fas.fa-times-circle.text-danger
- elsif User.session
= link_to('#', title: 'Request Delete Repository', data: { 'bs-toggle': 'modal', 'bs-target': '#request-delete-repository',
action: project_remove_target_request_path(project: project, repository: repository.name), repository: repository.name }) do
%i.fas.fa-user-times.text-danger
- if user_can_modify
- component.with_action do
- url = "#{download_url}/#{project.to_s.gsub(/:/, ':/')}/#{repository}"
= link_to(url, title: 'Download Repository', class: 'nav-link p-1') do
%i.fas.fa-download.text-secondary
= link_to('#', title: 'Edit Repository', class: 'nav-link p-1',
data: { 'bs-toggle': 'modal', 'bs-target': "#edit-repository-#{repository.id}" }) do
%i.fas.fa-edit.text-secondary
- component.with_action do
= link_to('#', title: 'Add Repository Path', class: 'nav-link p-1',
data: { 'bs-toggle': 'modal', 'bs-target': "#add-repository-path-#{repository.id}" }) do
%i.fas.fa-plus-circle.text-primary
- component.with_action do
- url = "#{download_url}/#{project.to_s.gsub(/:/, ':/')}/#{repository}"
= link_to(url, title: 'Download Repository', class: 'nav-link p-1') do
%i.fas.fa-download.text-secondary

- component.with_header do
= link_to(repository, project_repository_state_path(project: project, repository: repository.name), class: 'fw-bold')
- if repository.architectures.empty?
%i No architecture selected
- else
- repository.architectures.pluck(:name).each do |architecture|
%span.badge.bg-primary= architecture
- component.with_header do
= link_to(repository, project_repository_state_path(project: project, repository: repository.name), class: 'fw-bold')
- if repository.architectures.empty?
%i No architecture selected
- else
- repository.architectures.pluck(:name).each do |architecture|
%span.badge.bg-primary= architecture
4 changes: 2 additions & 2 deletions src/api/spec/features/webui/groups_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def group_in_datatable(page, group)
it 'remove a member from a group' do
visit group_path(group_1)

within(find('div.group-user', text: admin.login)) do
within(find('#group-users > .card', text: admin.login)) do
click_link('Remove member from group')
end

Expand All @@ -69,7 +69,7 @@ def group_in_datatable(page, group)
it 'give maintainer rights to a group member' do
visit group_path(group_1)

within(find('div.group-user', text: admin.login)) do
within(find('#group-users > .card', text: admin.login)) do
check('Maintainer')
end

Expand Down
24 changes: 12 additions & 12 deletions src/api/spec/features/webui/repositories_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
fill_in('Public Key', with: 'JLKSDJFSJ83U4902RKLJSDFLJF2J9IJ23OJFKJFSDF')
click_button('Accept')

expect(page).to have_css('.repository-card')
expect(page).to have_css('#repositories > .card')

within '.repository-card' do
within '#repositories > .card' do
expect(page).to have_link('My DoD repository')
expect(page).to have_link('Add Download on Demand Source')
expect(page).to have_link('Delete Repository')
Expand All @@ -47,7 +47,7 @@

it 'delete DoD repositories' do
visit(project_repositories_path(project: project_with_dod_repo))
within '.repository-card' do
within '#repositories > .card' do
click_link(title: 'Delete Repository')
end

Expand All @@ -64,7 +64,7 @@

it 'edit download repositories' do
visit(project_repositories_path(project: project_with_dod_repo))
within '.repository-card' do
within '#repositories > .card' do
find("[data-bs-target='#edit-dod-source-modal-#{download_repository_source}']").click
end

Expand Down Expand Up @@ -92,7 +92,7 @@

it 'delete download repository sources' do
visit(project_repositories_path(project: project_with_dod_repo))
within '.repository-card' do
within '#repositories > .card' do
find("[data-bs-target='#delete-dod-source-modal-#{download_repository_source}']").click
end

Expand All @@ -105,7 +105,7 @@
expect(page).to have_text 'Successfully removed Download on Demand'
expect(repository.download_repositories.count).to eq(1)

within '.repository-card' do
within '#repositories > .card' do
find("[data-bs-target='#delete-dod-source-modal-#{download_repository_source_2}']").click
end

Expand All @@ -130,7 +130,7 @@
expect(page).to have_css('#flash', text: 'Config successfully saved!')

visit(project_repositories_path(project: admin_user.home_project_name))
within '.repository-card' do
within '#repositories > .card' do
expect(page).to have_link('standard')
expect(page).to have_link('Add Download on Demand Source')
expect(page).to have_link('Delete Repository')
Expand Down Expand Up @@ -173,9 +173,9 @@

visit(project_repositories_path(project: admin_user.home_project))

expect(page).to have_css('.repository-card')
expect(page).to have_css('#repositories > .card')

within '.repository-card' do
within '#repositories > .card' do
expect(page).to have_link('openSUSE_Tumbleweed')
end

Expand All @@ -184,7 +184,7 @@

visit(project_repositories_path(project: admin_user.home_project))

expect(page).not_to have_css('.repository-card')
expect(page).not_to have_css('#repositories > .card')
end

it 'add repository from project' do
Expand All @@ -199,9 +199,9 @@

click_button('Accept')

expect(page).to have_css('.repository-card')
expect(page).to have_css('#repositories > .card')

within '.repository-card' do
within '#repositories > .card' do
expect(page).to have_link("#{repository.project}_#{repository}")
expect(page).to have_link('Edit Repository')
expect(page).to have_link('Add Repository Path')
Expand Down

0 comments on commit 333dfac

Please sign in to comment.