Commit 46031d63 authored by Clement Ho's avatar Clement Ho

[skip ci] Convert panel related class names to card

parent 28b0ed33
...@@ -23,8 +23,8 @@ export default { ...@@ -23,8 +23,8 @@ export default {
</script> </script>
<template> <template>
<div class="panel panel-default"> <div class="card">
<div class="panel-heading"> <div class="card-header">
{{ s__('Badges|Your badges') }} {{ s__('Badges|Your badges') }}
<span <span
v-show="!isLoading" v-show="!isLoading"
...@@ -33,19 +33,19 @@ export default { ...@@ -33,19 +33,19 @@ export default {
</div> </div>
<loading-icon <loading-icon
v-show="isLoading" v-show="isLoading"
class="panel-body" class="card-body"
size="2" size="2"
/> />
<div <div
v-if="hasNoBadges" v-if="hasNoBadges"
class="panel-body" class="card-body"
> >
<span v-if="isGroupBadge">{{ s__('Badges|This group has no badges') }}</span> <span v-if="isGroupBadge">{{ s__('Badges|This group has no badges') }}</span>
<span v-else>{{ s__('Badges|This project has no badges') }}</span> <span v-else>{{ s__('Badges|This project has no badges') }}</span>
</div> </div>
<div <div
v-else v-else
class="panel-body" class="card-body"
> >
<badge-list-row <badge-list-row
v-for="badge in badges" v-for="badge in badges"
......
...@@ -2,9 +2,9 @@ import sqljs from 'sql.js'; ...@@ -2,9 +2,9 @@ import sqljs from 'sql.js';
import { template as _template } from 'underscore'; import { template as _template } from 'underscore';
const PREVIEW_TEMPLATE = _template(` const PREVIEW_TEMPLATE = _template(`
<div class="panel panel-default"> <div class="card">
<div class="panel-heading"><%- name %></div> <div class="card-header"><%- name %></div>
<div class="panel-body"> <div class="card-body">
<img class="img-thumbnail" src="data:image/png;base64,<%- image %>"/> <img class="img-thumbnail" src="data:image/png;base64,<%- image %>"/>
</div> </div>
</div> </div>
......
...@@ -17,12 +17,12 @@ export default { ...@@ -17,12 +17,12 @@ export default {
<template> <template>
<div <div
v-if="showPanels" v-if="showPanels"
class="panel panel-default prometheus-panel" class="card prometheus-panel"
> >
<div class="panel-heading"> <div class="card-header">
<h4>{{ name }}</h4> <h4>{{ name }}</h4>
</div> </div>
<div class="panel-body prometheus-graph-group"> <div class="card-body prometheus-graph-group">
<slot></slot> <slot></slot>
</div> </div>
</div> </div>
......
...@@ -100,7 +100,7 @@ export default { ...@@ -100,7 +100,7 @@ export default {
: 'div'; : 'div';
}, },
wrapperClass() { wrapperClass() {
return this.isDiffDiscussion ? '' : 'panel panel-default'; return this.isDiffDiscussion ? '' : 'card';
}, },
}, },
mounted() { mounted() {
......
...@@ -31,7 +31,7 @@ export default class PrometheusMetrics { ...@@ -31,7 +31,7 @@ export default class PrometheusMetrics {
/* eslint-disable class-methods-use-this */ /* eslint-disable class-methods-use-this */
handlePanelToggle(e) { handlePanelToggle(e) {
const $toggleBtn = $(e.currentTarget); const $toggleBtn = $(e.currentTarget);
const $currentPanelBody = $toggleBtn.closest('.panel').find('.panel-body'); const $currentPanelBody = $toggleBtn.closest('.card').find('.card-body');
$currentPanelBody.toggleClass('hidden'); $currentPanelBody.toggleClass('hidden');
if ($toggleBtn.hasClass('fa-caret-down')) { if ($toggleBtn.hasClass('fa-caret-down')) {
$toggleBtn.removeClass('fa-caret-down').addClass('fa-caret-right'); $toggleBtn.removeClass('fa-caret-down').addClass('fa-caret-right');
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
%hr %hr
.panel.panel-default .card
.panel-heading Sidekiq running processes .card-header Sidekiq running processes
.panel-body .card-body
- if @sidekiq_processes.empty? - if @sidekiq_processes.empty?
%h4.cred %h4.cred
%i.fa.fa-exclamation-triangle %i.fa.fa-exclamation-triangle
...@@ -41,5 +41,5 @@ ...@@ -41,5 +41,5 @@
.panel.panel-default .card
%iframe{ src: sidekiq_path, width: '100%', height: 970, style: "border: 0" } %iframe{ src: sidekiq_path, width: '100%', height: 970, style: "border: 0" }
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
%hr %hr
.row .row
.col-md-6 .col-md-6
.panel.panel-default .card
.panel-heading .card-header
Group info: Group info:
%ul.well-list %ul.well-list
%li %li
...@@ -58,9 +58,9 @@ ...@@ -58,9 +58,9 @@
= group_lfs_status(@group) = group_lfs_status(@group)
= link_to icon('question-circle'), help_page_path('workflow/lfs/manage_large_binaries_with_git_lfs') = link_to icon('question-circle'), help_page_path('workflow/lfs/manage_large_binaries_with_git_lfs')
.panel.panel-default .card
.panel-heading .card-header
%h3.panel-title %h3.card-title
Projects Projects
%span.badge.badge-pill %span.badge.badge-pill
#{@group.projects.count} #{@group.projects.count}
...@@ -73,12 +73,12 @@ ...@@ -73,12 +73,12 @@
= storage_counter(project.statistics.storage_size) = storage_counter(project.statistics.storage_size)
%span.float-right.light %span.float-right.light
%span.monospace= project.full_path + '.git' %span.monospace= project.full_path + '.git'
.panel-footer .card-footer
= paginate @projects, param_name: 'projects_page', theme: 'gitlab' = paginate @projects, param_name: 'projects_page', theme: 'gitlab'
- if @group.shared_projects.any? - if @group.shared_projects.any?
.panel.panel-default .card
.panel-heading .card-header
Projects shared with #{@group.name} Projects shared with #{@group.name}
%span.badge.badge-pill %span.badge.badge-pill
#{@group.shared_projects.count} #{@group.shared_projects.count}
...@@ -94,10 +94,10 @@ ...@@ -94,10 +94,10 @@
.col-md-6 .col-md-6
- if can?(current_user, :admin_group_member, @group) - if can?(current_user, :admin_group_member, @group)
.panel.panel-default .card
.panel-heading .card-header
Add user(s) to the group: Add user(s) to the group:
.panel-body.form-holder .card-body.form-holder
%p.light %p.light
Read more about project permissions Read more about project permissions
%strong= link_to "here", help_page_path("user/permissions"), class: "vlink" %strong= link_to "here", help_page_path("user/permissions"), class: "vlink"
...@@ -111,8 +111,8 @@ ...@@ -111,8 +111,8 @@
= button_tag 'Add users to group', class: "btn btn-create" = button_tag 'Add users to group', class: "btn btn-create"
= render 'shared/members/requests', membership_source: @group, requesters: @requesters, force_mobile_view: true = render 'shared/members/requests', membership_source: @group, requesters: @requesters, force_mobile_view: true
.panel.panel-default .card
.panel-heading .card-header
%strong= @group.name %strong= @group.name
group members group members
%span.badge.badge-pill= @group.members.size %span.badge.badge-pill= @group.members.size
...@@ -120,5 +120,5 @@ ...@@ -120,5 +120,5 @@
= link_to icon('pencil-square-o', text: 'Manage access'), polymorphic_url([@group, :members]), class: "btn btn-xs" = link_to icon('pencil-square-o', text: 'Manage access'), polymorphic_url([@group, :members]), class: "btn btn-xs"
%ul.well-list.group-users-list.content-list.members-list %ul.well-list.group-users-list.content-list.members-list
= render partial: 'shared/members/member', collection: @members, as: :member, locals: { show_controls: false } = render partial: 'shared/members/member', collection: @members, as: :member, locals: { show_controls: false }
.panel-footer .card-footer
= paginate @members, param_name: 'members_page', theme: 'gitlab' = paginate @members, param_name: 'members_page', theme: 'gitlab'
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
%code= metrics_url(token: Gitlab::CurrentSettings.health_check_access_token) %code= metrics_url(token: Gitlab::CurrentSettings.health_check_access_token)
%hr %hr
.panel.panel-default .card
.panel-heading .card-header
Current Status: Current Status:
- if no_errors - if no_errors
= icon('circle', class: 'cgreen') = icon('circle', class: 'cgreen')
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
- else - else
= icon('warning', class: 'cred') = icon('warning', class: 'cred')
#{ s_('HealthCheck|Unhealthy') } #{ s_('HealthCheck|Unhealthy') }
.panel-body .card-body
- if no_errors - if no_errors
#{ s_('HealthCheck|No Health Problems Detected') } #{ s_('HealthCheck|No Health Problems Detected') }
- else - else
......
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
%hr %hr
- if @hooks.any? - if @hooks.any?
.panel.panel-default .card
.panel-heading .card-header
System hooks (#{@hooks.count}) System hooks (#{@hooks.count})
%ul.content-list %ul.content-list
- @hooks.each do |hook| - @hooks.each do |hook|
......
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
- if @project.last_repository_check_failed? - if @project.last_repository_check_failed?
.row .row
.col-md-12 .col-md-12
.panel .card
.panel-heading.alert.alert-danger .card-header.alert.alert-danger
Last repository check Last repository check
= "(#{time_ago_in_words(@project.last_repository_check_at)} ago)" = "(#{time_ago_in_words(@project.last_repository_check_at)} ago)"
failed. See failed. See
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
for error messages. for error messages.
.row .row
.col-md-6 .col-md-6
.panel.panel-default .card
.panel-heading .card-header
Project info: Project info:
%ul.well-list %ul.well-list
%li %li
...@@ -110,10 +110,10 @@ ...@@ -110,10 +110,10 @@
= visibility_level_icon(@project.visibility_level) = visibility_level_icon(@project.visibility_level)
= visibility_level_label(@project.visibility_level) = visibility_level_label(@project.visibility_level)
.panel.panel-default .card
.panel-heading .card-header
Transfer project Transfer project
.panel-body .card-body
= form_for @project, url: transfer_admin_project_path(@project), method: :put, html: { class: 'form-horizontal' } do |f| = form_for @project, url: transfer_admin_project_path(@project), method: :put, html: { class: 'form-horizontal' } do |f|
.form-group .form-group
= f.label :new_namespace_id, "Namespace", class: 'control-label' = f.label :new_namespace_id, "Namespace", class: 'control-label'
...@@ -130,10 +130,10 @@ ...@@ -130,10 +130,10 @@
.col-sm-offset-2.col-sm-10 .col-sm-offset-2.col-sm-10
= f.submit 'Transfer', class: 'btn btn-primary' = f.submit 'Transfer', class: 'btn btn-primary'
.panel.panel-default.repository-check .card.repository-check
.panel-heading .card-header
Repository check Repository check
.panel-body .card-body
= form_for @project, url: repository_check_admin_project_path(@project), method: :post do |f| = form_for @project, url: repository_check_admin_project_path(@project), method: :post do |f|
.form-group .form-group
- if @project.last_repository_check_at.nil? - if @project.last_repository_check_at.nil?
...@@ -158,8 +158,8 @@ ...@@ -158,8 +158,8 @@
.col-md-6 .col-md-6
- if @group - if @group
.panel.panel-default .card
.panel-heading .card-header
%strong= @group.name %strong= @group.name
group members group members
%span.badge.badge-pill= @group_members.size %span.badge.badge-pill= @group_members.size
...@@ -168,13 +168,13 @@ ...@@ -168,13 +168,13 @@
= icon('pencil-square-o', text: 'Manage access') = icon('pencil-square-o', text: 'Manage access')
%ul.well-list.content-list.members-list %ul.well-list.content-list.members-list
= render partial: 'shared/members/member', collection: @group_members, as: :member, locals: { show_controls: false } = render partial: 'shared/members/member', collection: @group_members, as: :member, locals: { show_controls: false }
.panel-footer .card-footer
= paginate @group_members, param_name: 'group_members_page', theme: 'gitlab' = paginate @group_members, param_name: 'group_members_page', theme: 'gitlab'
= render 'shared/members/requests', membership_source: @project, requesters: @requesters, force_mobile_view: true = render 'shared/members/requests', membership_source: @project, requesters: @requesters, force_mobile_view: true
.panel.panel-default .card
.panel-heading .card-header
%strong= @project.name %strong= @project.name
project members project members
%span.badge.badge-pill= @project.users.size %span.badge.badge-pill= @project.users.size
...@@ -182,5 +182,5 @@ ...@@ -182,5 +182,5 @@
= link_to icon('pencil-square-o', text: 'Manage access'), polymorphic_url([@project, :members]), class: "btn btn-xs" = link_to icon('pencil-square-o', text: 'Manage access'), polymorphic_url([@project, :members]), class: "btn btn-xs"
%ul.well-list.project_members.content-list.members-list %ul.well-list.project_members.content-list.members-list
= render partial: 'shared/members/member', collection: @project_members, as: :member, locals: { show_controls: false } = render partial: 'shared/members/member', collection: @project_members, as: :member, locals: { show_controls: false }
.panel-footer .card-footer
= paginate @project_members, param_name: 'project_members_page', theme: 'gitlab' = paginate @project_members, param_name: 'project_members_page', theme: 'gitlab'
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
- if @profiles.present? - if @profiles.present?
.prepend-top-default .prepend-top-default
- @profiles.each do |path, profiles| - @profiles.each do |path, profiles|
.panel.panel-default.panel-small .card.card-small
.panel-heading .card-header
%code= path %code= path
%ul.content-list %ul.content-list
- profiles.each do |profile| - profiles.each do |profile|
......
.panel.panel-default .card
.panel-heading .card-header
Profile Profile
%ul.well-list %ul.well-list
%li %li
......
- if local_assigns.has_key?(:contributed_projects) && contributed_projects.present? - if local_assigns.has_key?(:contributed_projects) && contributed_projects.present?
.panel.panel-default.contributed-projects .card.contributed-projects
.panel-heading Projects contributed to .card-header Projects contributed to
= render 'shared/projects/list', = render 'shared/projects/list',
projects: contributed_projects.sort_by(&:star_count).reverse, projects: contributed_projects.sort_by(&:star_count).reverse,
projects_limit: 5, stars: true, avatar: false projects_limit: 5, stars: true, avatar: false
- if local_assigns.has_key?(:projects) && projects.present? - if local_assigns.has_key?(:projects) && projects.present?
.panel.panel-default .card
.panel-heading Personal projects .card-header Personal projects
= render 'shared/projects/list', = render 'shared/projects/list',
projects: projects.sort_by(&:star_count).reverse, projects: projects.sort_by(&:star_count).reverse,
projects_limit: 10, stars: true, avatar: false projects_limit: 10, stars: true, avatar: false
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
= render 'admin/users/head' = render 'admin/users/head'
- if @user.groups.any? - if @user.groups.any?
.panel.panel-default .card
.panel-heading Group projects .card-header Group projects
%ul.well-list %ul.well-list
- @user.group_members.includes(:source).each do |group_member| - @user.group_members.includes(:source).each do |group_member|
- group = group_member.group - group = group_member.group
...@@ -26,8 +26,8 @@ ...@@ -26,8 +26,8 @@
.col-md-6 .col-md-6
.panel.panel-default .card
.panel-heading Joined projects (#{@joined_projects.count}) .card-header Joined projects (#{@joined_projects.count})
%ul.well-list %ul.well-list
- @joined_projects.sort_by(&:full_name).each do |project| - @joined_projects.sort_by(&:full_name).each do |project|
- member = project.team.find_member(@user.id) - member = project.team.find_member(@user.id)
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
.row .row
.col-md-6 .col-md-6
.panel.panel-default .card
.panel-heading .card-header
= @user.name = @user.name
%ul.well-list %ul.well-list
%li %li
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
= @user.username = @user.username
= render 'admin/users/profile', user: @user = render 'admin/users/profile', user: @user
.panel.panel-default .card
.panel-heading .card-header
Account: Account:
%ul.well-list %ul.well-list
%li %li
...@@ -128,20 +128,20 @@ ...@@ -128,20 +128,20 @@
.col-md-6 .col-md-6
- unless @user == current_user - unless @user == current_user
- unless @user.confirmed? - unless @user.confirmed?
.panel.panel-info .card.bg-info
.panel-heading .card-header
Confirm user Confirm user
.panel-body .card-body
- if @user.unconfirmed_email.present? - if @user.unconfirmed_email.present?
- email = " (#{@user.unconfirmed_email})" - email = " (#{@user.unconfirmed_email})"
%p This user has an unconfirmed email address#{email}. You may force a confirmation. %p This user has an unconfirmed email address#{email}. You may force a confirmation.
%br %br
= link_to 'Confirm user', confirm_admin_user_path(@user), method: :put, class: "btn btn-info", data: { confirm: 'Are you sure?' } = link_to 'Confirm user', confirm_admin_user_path(@user), method: :put, class: "btn btn-info", data: { confirm: 'Are you sure?' }
- if @user.blocked? - if @user.blocked?
.panel.panel-info .card.bg-info
.panel-heading .card-header
This user is blocked This user is blocked
.panel-body .card-body
%p A blocked user cannot: %p A blocked user cannot:
%ul %ul
%li Log in %li Log in
...@@ -149,10 +149,10 @@ ...@@ -149,10 +149,10 @@
%br %br
= link_to 'Unblock user', unblock_admin_user_path(@user), method: :put, class: "btn btn-info", data: { confirm: 'Are you sure?' } = link_to 'Unblock user', unblock_admin_user_path(@user), method: :put, class: "btn btn-info", data: { confirm: 'Are you sure?' }
- else - else
.panel.panel-warning .card.bg-warning
.panel-heading .card-header
Block this user Block this user
.panel-body .card-body
%p Blocking user has the following effects: %p Blocking user has the following effects:
%ul %ul
%li User will not be able to login %li User will not be able to login
...@@ -162,18 +162,18 @@ ...@@ -162,18 +162,18 @@
%br %br
= link_to 'Block user', block_admin_user_path(@user), data: { confirm: 'USER WILL BE BLOCKED! Are you sure?' }, method: :put, class: "btn btn-warning" = link_to 'Block user', block_admin_user_path(@user), data: { confirm: 'USER WILL BE BLOCKED! Are you sure?' }, method: :put, class: "btn btn-warning"
- if @user.access_locked? - if @user.access_locked?
.panel.panel-info .card.bg-info
.panel-heading .card-header
This account has been locked This account has been locked
.panel-body .card-body
%p This user has been temporarily locked due to excessive number of failed logins. You may manually unlock the account. %p This user has been temporarily locked due to excessive number of failed logins. You may manually unlock the account.
%br %br
= link_to 'Unlock user', unlock_admin_user_path(@user), method: :put, class: "btn btn-info", data: { confirm: 'Are you sure?' } = link_to 'Unlock user', unlock_admin_user_path(@user), method: :put, class: "btn btn-info", data: { confirm: 'Are you sure?' }
.panel.panel-danger .card.bg-danger
.panel-heading .card-header
= s_('AdminUsers|Delete user') = s_('AdminUsers|Delete user')
.panel-body .card-body
- if @user.can_be_removed? && can?(current_user, :destroy_user, @user) - if @user.can_be_removed? && can?(current_user, :destroy_user, @user)
%p Deleting a user has the following effects: %p Deleting a user has the following effects:
= render 'users/deletion_guidance', user: @user = render 'users/deletion_guidance', user: @user
...@@ -196,10 +196,10 @@ ...@@ -196,10 +196,10 @@
%p %p
You don't have access to delete this user. You don't have access to delete this user.
.panel.panel-danger .card.bg-danger
.panel-heading .card-header
= s_('AdminUsers|Delete user and contributions') = s_('AdminUsers|Delete user and contributions')
.panel-body .card-body
- if can?(current_user, :destroy_user, @user) - if can?(current_user, :destroy_user, @user)
%p %p
This option deletes the user and any contributions that This option deletes the user and any contributions that
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
- if @todos.any? - if @todos.any?
.js-todos-list-container .js-todos-list-container
.js-todos-options{ data: { per_page: @todos.limit_value, current_page: @todos.current_page, total_pages: @todos.total_pages } } .js-todos-options{ data: { per_page: @todos.limit_value, current_page: @todos.current_page, total_pages: @todos.total_pages } }
.panel.panel-default.panel-without-border.panel-without-margin .card.card-without-border.card-without-margin
%ul.content-list.todos-list %ul.content-list.todos-list
= render @todos = render @todos
= paginate @todos, theme: "gitlab" = paginate @todos, theme: "gitlab"
......
...@@ -51,5 +51,5 @@ ...@@ -51,5 +51,5 @@
- if discussion.diff_discussion? && discussion.diff_file - if discussion.diff_discussion? && discussion.diff_file
= render "discussions/diff_with_notes", discussion: discussion = render "discussions/diff_with_notes", discussion: discussion
- else - else
.panel.panel-default .card
= render partial: "discussions/notes", locals: { discussion: discussion, disable_collapse_class: true } = render partial: "discussions/notes", locals: { discussion: discussion, disable_collapse_class: true }
- breadcrumb_title "General Settings" - breadcrumb_title "General Settings"
.panel.panel-default.prepend-top-default .card.prepend-top-default
.panel-heading .card-header
Group settings Group settings
.panel-body .card-body
= form_for @group, html: { multipart: true, class: "form-horizontal gl-show-field-errors" }, authenticity_token: true do |f| = form_for @group, html: { multipart: true, class: "form-horizontal gl-show-field-errors" }, authenticity_token: true do |f|
= form_errors(@group) = form_errors(@group)
= render 'shared/group_form', f: f = render 'shared/group_form', f: f
...@@ -45,9 +45,9 @@ ...@@ -45,9 +45,9 @@
.form-actions .form-actions
= f.submit 'Save group', class: "btn btn-save" = f.submit 'Save group', class: "btn btn-save"
.panel.panel-danger .card.bg-danger
.panel-heading Remove group .card-header Remove group
.panel-body .card-body
= form_tag(@group, method: :delete) do = form_tag(@group, method: :delete) do
%p %p
Removing group will cause all child projects and resources to be removed. Removing group will cause all child projects and resources to be removed.
...@@ -58,9 +58,9 @@ ...@@ -58,9 +58,9 @@
= button_to 'Remove group', '#', class: "btn btn-remove js-confirm-danger", data: { "confirm-danger-message" => remove_group_message(@group) } = button_to 'Remove group', '#', class: "btn btn-remove js-confirm-danger", data: { "confirm-danger-message" => remove_group_message(@group) }
- if supports_nested_groups? - if supports_nested_groups?
.panel.panel-warning .card.bg-warning
.panel-heading Transfer group .card-header Transfer group
.panel-body .card-body
= form_for @group, url: transfer_group_path(@group), method: :put do |f| = form_for @group, url: transfer_group_path(@group), method: :put do |f|
.form-group .form-group
= dropdown_tag('Select parent group', options: { toggle_class: 'js-groups-dropdown', title: 'Parent Group', filter: true, dropdown_class: 'dropdown-open-top dropdown-group-transfer', placeholder: "Search groups", data: { data: parent_group_options(@group) } }) = dropdown_tag('Select parent group', options: { toggle_class: 'js-groups-dropdown', title: 'Parent Group', filter: true, dropdown_class: 'dropdown-open-top dropdown-group-transfer', placeholder: "Search groups", data: { data: parent_group_options(@group) } })
......
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
%button.member-search-btn{ type: "submit", "aria-label" => "Submit search" } %button.member-search-btn{ type: "submit", "aria-label" => "Submit search" }
= icon("search") = icon("search")
= render 'shared/members/sort_dropdown' = render 'shared/members/sort_dropdown'
.panel.panel-default .card
.panel-heading .card-header
Members with access to Members with access to
%strong= @group.name %strong= @group.name
%span.badge.badge-pill= @members.total_count %span.badge.badge-pill= @members.total_count
......
- breadcrumb_title "Projects" - breadcrumb_title "Projects"
.panel.panel-default.prepend-top-default .card.prepend-top-default
.panel-heading .card-header
%strong= @group.name %strong= @group.name
projects: projects:
- if can? current_user, :admin_group, @group - if can? current_user, :admin_group, @group
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
.documentation-index.wiki .documentation-index.wiki
= markdown(@help_index) = markdown(@help_index)
.col-md-4 .col-md-4
.panel.panel-default .card
.panel-heading .card-header
Quick help Quick help
%ul.well-list %ul.well-list
%li= link_to 'See our website for getting help', support_url %li= link_to 'See our website for getting help', support_url
......
...@@ -129,8 +129,8 @@ ...@@ -129,8 +129,8 @@
.lead .lead
List inside panel List inside panel
.example .example
.panel.panel-default .card
.panel-heading Your list .card-header Your list
%ul.well-list %ul.well-list
%li %li
One item One item
...@@ -416,26 +416,26 @@ ...@@ -416,26 +416,26 @@
.row .row
.col-md-6 .col-md-6
.panel.panel-success .card.bg-success
.panel-heading Success .card-header Success
.panel-body .card-body
= lorem = lorem
.panel.panel-primary .card.bg-primary
.panel-heading Primary .card-header Primary
.panel-body .card-body
= lorem = lorem
.panel.panel-info .card.bg-info
.panel-heading Info .card-header Info
.panel-body .card-body
= lorem = lorem
.col-md-6 .col-md-6
.panel.panel-warning .card.bg-warning
.panel-heading Warning .card-header Warning
.panel-body .card-body
= lorem = lorem
.panel.panel-danger .card.bg-danger
.panel-heading Danger .card-header Danger
.panel-body .card-body
= lorem = lorem
%h2#alerts Alerts %h2#alerts Alerts
......
- is_admin = defined?(admin) ? true : false - is_admin = defined?(admin) ? true : false
.row.prepend-top-default .row.prepend-top-default
.col-md-4 .col-md-4
.panel.panel-default .card
.panel-heading .card-header
SSH Key SSH Key
%ul.well-list %ul.well-list
%li %li
......
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
- return unless branches.any? - return unless branches.any?
.panel.panel-default.prepend-top-10 .card.prepend-top-10
.panel-heading .card-header
%h4.panel-title %h4.card-title
= panel_title = panel_title
%ul.content-list.all-branches %ul.content-list.all-branches
- branches.first(overview_max_branches).each do |branch| - branches.first(overview_max_branches).each do |branch|
= render "projects/branches/branch", branch: branch, merged: project.repository.merged_to_root_ref?(branch) = render "projects/branches/branch", branch: branch, merged: project.repository.merged_to_root_ref?(branch)
- if branches.size > overview_max_branches - if branches.size > overview_max_branches
.panel-footer.text-center .card-footer.text-center
= link_to show_more_text, project_branches_filtered_path(project, state: state), id: "state-#{state}", data: { state: state } = link_to show_more_text, project_branches_filtered_path(project, state: state), id: "state-#{state}", data: { state: state }
- commits, hidden = limited_commits(@commits) - commits, hidden = limited_commits(@commits)
- commits = Commit.decorate(commits, @project) - commits = Commit.decorate(commits, @project)
.panel.panel-default .card
.panel-heading .card-header
Commits (#{@commits.count}) Commits (#{@commits.count})
- if hidden > 0 - if hidden > 0
%ul.content-list %ul.content-list
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
"v-on:dismiss-overview-dialog" => "dismissOverviewDialog()" } "v-on:dismiss-overview-dialog" => "dismissOverviewDialog()" }
= icon("spinner spin", "v-show" => "isLoading") = icon("spinner spin", "v-show" => "isLoading")
.wrapper{ "v-show" => "!isLoading && !hasError" } .wrapper{ "v-show" => "!isLoading && !hasError" }
.panel.panel-default .card
.panel-heading .card-header
{{ __('Pipeline Health') }} {{ __('Pipeline Health') }}
.content-block .content-block
.container-fluid .container-fluid
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
%a{ "href" => "#", "data-value" => "90" } %a{ "href" => "#", "data-value" => "90" }
{{ n__('Last %d day', 'Last %d days', 90) }} {{ n__('Last %d day', 'Last %d days', 90) }}
.stage-panel-container .stage-panel-container
.panel.panel-default.stage-panel .card.stage-panel
.panel-heading .card-header
%nav.col-headers %nav.col-headers
%ul %ul
%li.stage-header %li.stage-header
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
%hr %hr
- if @project.import_failed? - if @project.import_failed?
.panel.panel-danger .card.bg-danger
.panel-heading The repository could not be imported. .card-header The repository could not be imported.
.panel-body .card-body
%pre %pre
:preserve :preserve
#{h(sanitize_repo_path(@project, @project.import_error))} #{h(sanitize_repo_path(@project, @project.import_error))}
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
.d-none.alert.alert-danger.mr-compare-errors .d-none.alert.alert-danger.mr-compare-errors
.merge-request-branches.js-merge-request-new-compare.row{ 'data-target-project-url': project_new_merge_request_update_branches_path(@source_project), 'data-source-branch-url': project_new_merge_request_branch_from_path(@source_project), 'data-target-branch-url': project_new_merge_request_branch_to_path(@source_project) } .merge-request-branches.js-merge-request-new-compare.row{ 'data-target-project-url': project_new_merge_request_update_branches_path(@source_project), 'data-source-branch-url': project_new_merge_request_branch_from_path(@source_project), 'data-target-branch-url': project_new_merge_request_branch_to_path(@source_project) }
.col-md-6 .col-md-6
.panel.panel-default.panel-new-merge-request .card.card-new-merge-request
.panel-heading .card-header
Source branch Source branch
.panel-body.clearfix .card-body.clearfix
.merge-request-select.dropdown .merge-request-select.dropdown
= f.hidden_field :source_project_id = f.hidden_field :source_project_id
= dropdown_toggle @merge_request.source_project_path, { toggle: "dropdown", field_name: "#{f.object_name}[source_project_id]", disabled: @merge_request.persisted? }, { toggle_class: "js-compare-dropdown js-source-project" } = dropdown_toggle @merge_request.source_project_path, { toggle: "dropdown", field_name: "#{f.object_name}[source_project_id]", disabled: @merge_request.persisted? }, { toggle_class: "js-compare-dropdown js-source-project" }
...@@ -29,15 +29,15 @@ ...@@ -29,15 +29,15 @@
= render 'projects/merge_requests/dropdowns/branch', = render 'projects/merge_requests/dropdowns/branch',
branches: @merge_request.source_branches, branches: @merge_request.source_branches,
selected: f.object.source_branch selected: f.object.source_branch
.panel-footer .card-footer
.text-center= icon('spinner spin', class: 'js-source-loading') .text-center= icon('spinner spin', class: 'js-source-loading')
%ul.list-unstyled.mr_source_commit %ul.list-unstyled.mr_source_commit
.col-md-6 .col-md-6
.panel.panel-default.panel-new-merge-request .card.card-new-merge-request
.panel-heading .card-header
Target branch Target branch
.panel-body.clearfix .card-body.clearfix
- projects = target_projects(@project) - projects = target_projects(@project)
.merge-request-select.dropdown .merge-request-select.dropdown
= f.hidden_field :target_project_id = f.hidden_field :target_project_id
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
= render 'projects/merge_requests/dropdowns/branch', = render 'projects/merge_requests/dropdowns/branch',
branches: @merge_request.target_branches, branches: @merge_request.target_branches,
selected: f.object.target_branch selected: f.object.target_branch
.panel-footer .card-footer
.text-center= icon('spinner spin', class: "js-target-loading") .text-center= icon('spinner spin', class: "js-target-loading")
%ul.list-unstyled.mr_target_commit %ul.list-unstyled.mr_target_commit
......
- if @project.pages_deployed? - if @project.pages_deployed?
.panel.panel-default .card
.panel-heading .card-header
Access pages Access pages
.panel-body .card-body
%p %p
%strong %strong
Congratulations! Your pages are served under: Congratulations! Your pages are served under:
......
- if @project.pages_deployed? - if @project.pages_deployed?
- if can?(current_user, :remove_pages, @project) - if can?(current_user, :remove_pages, @project)
.panel.panel-default.panel.panel-danger .card.bg-danger
.panel-heading Remove pages .card-header Remove pages
.errors-holder .errors-holder
.panel-body .card-body
%p %p
Removing the pages will prevent from exposing them to outside world. Removing the pages will prevent from exposing them to outside world.
.form-actions .form-actions
......
- verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled? - verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled?
- if can?(current_user, :update_pages, @project) && @domains.any? - if can?(current_user, :update_pages, @project) && @domains.any?
.panel.panel-default .card
.panel-heading .card-header
Domains (#{@domains.count}) Domains (#{@domains.count})
%ul.well-list.pages-domain-list{ class: ("has-verification-status" if verification_enabled) } %ul.well-list.pages-domain-list{ class: ("has-verification-status" if verification_enabled) }
- @domains.each do |domain| - @domains.each do |domain|
......
- if can?(current_user, :update_pages, @project) - if can?(current_user, :update_pages, @project)
.panel.panel-default .card
.panel-heading .card-header
Domains Domains
.nothing-here-block .nothing-here-block
Support for domains and certificates is disabled. Support for domains and certificates is disabled.
......
- unless @project.pages_deployed? - unless @project.pages_deployed?
.panel.panel-info .card.bg-info
.panel-heading .card-header
Configure pages Configure pages
.panel-body .card-body
%p %p
Learn how to upload your static site and have it served by Learn how to upload your static site and have it served by
GitLab by following the GitLab by following the
......
.panel.panel-default.project-members-groups .card.project-members-groups
.panel-heading .card-header
Groups with access to Groups with access to
%strong= @project.name %strong= @project.name
%span.badge.badge-pill= group_links.size %span.badge.badge-pill= group_links.size
......
- project = local_assigns.fetch(:project) - project = local_assigns.fetch(:project)
- members = local_assigns.fetch(:members) - members = local_assigns.fetch(:members)
.panel.panel-default .card
.panel-heading.flex-project-members-panel .card-header.flex-project-members-panel
%span.flex-project-title %span.flex-project-title
Members of Members of
%strong= project.name %strong= project.name
......
.panel.panel-default.protected-branches-list.js-protected-branches-list .card.protected-branches-list.js-protected-branches-list
- if @protected_branches.empty? - if @protected_branches.empty?
.panel-heading .card-header
%h3.panel-title %h3.card-title
Protected branch (#{@protected_branches_count}) Protected branch (#{@protected_branches_count})
%p.settings-message.text-center %p.settings-message.text-center
There are currently no protected branches, protect a branch with the form above. There are currently no protected branches, protect a branch with the form above.
......
= form_for [@project.namespace.becomes(Namespace), @project, @protected_branch], html: { class: 'new-protected-branch js-new-protected-branch' } do |f| = form_for [@project.namespace.becomes(Namespace), @project, @protected_branch], html: { class: 'new-protected-branch js-new-protected-branch' } do |f|
.panel.panel-default .card
.panel-heading .card-header
%h3.panel-title %h3.card-title
Protect a branch Protect a branch
.panel-body .card-body
.form-horizontal .form-horizontal
= form_errors(@protected_branch) = form_errors(@protected_branch)
.form-group .form-group
...@@ -29,5 +29,5 @@ ...@@ -29,5 +29,5 @@
.col-md-10 .col-md-10
= yield :push_access_levels = yield :push_access_levels
.panel-footer .card-footer
= f.submit 'Protect', class: 'btn-create btn', disabled: true = f.submit 'Protect', class: 'btn-create btn', disabled: true
= form_for [@project.namespace.becomes(Namespace), @project, @protected_tag], html: { class: 'new-protected-tag js-new-protected-tag' } do |f| = form_for [@project.namespace.becomes(Namespace), @project, @protected_tag], html: { class: 'new-protected-tag js-new-protected-tag' } do |f|
.panel.panel-default .card
.panel-heading .card-header
%h3.panel-title %h3.card-title
Protect a tag Protect a tag
.panel-body .card-body
.form-horizontal .form-horizontal
= form_errors(@protected_tag) = form_errors(@protected_tag)
.form-group .form-group
...@@ -25,5 +25,5 @@ ...@@ -25,5 +25,5 @@
.create_access_levels-container .create_access_levels-container
= yield :create_access_levels = yield :create_access_levels
.panel-footer .card-footer
= f.submit 'Protect', class: 'btn-create btn', disabled: true = f.submit 'Protect', class: 'btn-create btn', disabled: true
.panel.panel-default.protected-tags-list.js-protected-tags-list .card.protected-tags-list.js-protected-tags-list
- if @protected_tags.empty? - if @protected_tags.empty?
.panel-heading .card-header
%h3.panel-title %h3.card-title
Protected tag (#{@protected_tags_count}) Protected tag (#{@protected_tags_count})
%p.settings-message.text-center %p.settings-message.text-center
There are currently no protected tags, protect a tag with the form above. There are currently no protected tags, protect a tag with the form above.
......
...@@ -16,11 +16,11 @@ ...@@ -16,11 +16,11 @@
.row.prepend-top-10 .row.prepend-top-10
.col-lg-12 .col-lg-12
.panel.panel-default .card
.panel-heading .card-header
%h4.panel-title %h4.card-title
= s_('ContainerRegistry|How to use the Container Registry') = s_('ContainerRegistry|How to use the Container Registry')
.panel-body .card-body
%p %p
- link_token = link_to(_('personal access token'), help_page_path('user/profile/account/two_factor_authentication', anchor: 'personal-access-tokens'), target: '_blank') - link_token = link_to(_('personal access token'), help_page_path('user/profile/account/two_factor_authentication', anchor: 'personal-access-tokens'), target: '_blank')
- link_2fa = link_to(_('2FA enabled'), help_page_path('user/profile/account/two_factor_authentication'), target: '_blank') - link_2fa = link_to(_('2FA enabled'), help_page_path('user/profile/account/two_factor_authentication'), target: '_blank')
......
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
= link_to s_('PrometheusService|More information'), help_page_path('user/project/integrations/prometheus') = link_to s_('PrometheusService|More information'), help_page_path('user/project/integrations/prometheus')
.col-lg-9 .col-lg-9
.panel.panel-default.js-panel-monitored-metrics{ data: { active_metrics: active_common_project_prometheus_metrics_path(@project, :json), metrics_help_path: help_page_path('user/project/integrations/prometheus_library/metrics') } } .card.js-panel-monitored-metrics{ data: { active_metrics: active_common_project_prometheus_metrics_path(@project, :json), metrics_help_path: help_page_path('user/project/integrations/prometheus_library/metrics') } }
.panel-heading .card-header
%h3.panel-title %h3.card-title
= s_('PrometheusService|Common metrics') = s_('PrometheusService|Common metrics')
%span.badge.badge-pill.js-monitored-count 0 %span.badge.badge-pill.js-monitored-count 0
.panel-body .card-body
.loading-metrics.js-loading-metrics .loading-metrics.js-loading-metrics
%p.prepend-top-10.prepend-left-10 %p.prepend-top-10.prepend-left-10
= icon('spinner spin', class: 'metrics-load-spinner') = icon('spinner spin', class: 'metrics-load-spinner')
...@@ -22,13 +22,13 @@ ...@@ -22,13 +22,13 @@
= s_('PrometheusService|Waiting for your first deployment to an environment to find common metrics') = s_('PrometheusService|Waiting for your first deployment to an environment to find common metrics')
%ul.list-unstyled.metrics-list.hidden.js-metrics-list %ul.list-unstyled.metrics-list.hidden.js-metrics-list
.panel.panel-default.hidden.js-panel-missing-env-vars .card.hidden.js-panel-missing-env-vars
.panel-heading .card-header
%h3.panel-title %h3.card-title
= icon('caret-right lg fw', class: 'panel-toggle js-panel-toggle', 'aria-label' => 'Toggle panel') = icon('caret-right lg fw', class: 'panel-toggle js-panel-toggle', 'aria-label' => 'Toggle panel')
= s_('PrometheusService|Missing environment variable') = s_('PrometheusService|Missing environment variable')
%span.badge.badge-pill.js-env-var-count 0 %span.badge.badge-pill.js-env-var-count 0
.panel-body.hidden .card-body.hidden
.flash-container .flash-container
.flash-notice .flash-notice
.flash-text .flash-text
......
...@@ -2,15 +2,15 @@ ...@@ -2,15 +2,15 @@
.col-lg-12 .col-lg-12
%h4 %h4
= badge.title.capitalize = badge.title.capitalize
.panel.panel-default .card
.panel-heading .card-header
%b %b
= badge.title.capitalize = badge.title.capitalize
&middot; &middot;
= badge.to_html = badge.to_html
.float-right .float-right
= render 'shared/ref_switcher', destination: 'badges', align_right: true = render 'shared/ref_switcher', destination: 'badges', align_right: true
.panel-body .card-body
.row .row
.col-md-2.text-center .col-md-2.text-center
Markdown Markdown
......
.row.prepend-top-default.append-bottom-default.triggers-container .row.prepend-top-default.append-bottom-default.triggers-container
.col-lg-12 .col-lg-12
= render "projects/triggers/content" = render "projects/triggers/content"
.panel.panel-default .card
.panel-heading .card-header
%h4.panel-title %h4.card-title
Manage your project's triggers Manage your project's triggers
.panel-body .card-body
= render "projects/triggers/form", btn_text: "Add trigger" = render "projects/triggers/form", btn_text: "Add trigger"
%hr %hr
- if @triggers.any? - if @triggers.any?
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
%p.settings-message.text-center.append-bottom-default %p.settings-message.text-center.append-bottom-default
No triggers have been created yet. Add one using the form above. No triggers have been created yet. Add one using the form above.
.panel-footer .card-footer
%p %p
In the following examples, you can see the exact API call you need to In the following examples, you can see the exact API call you need to
......
- if @issues.to_a.any? - if @issues.to_a.any?
.panel.panel-default.panel-small.panel-without-border .card.card-small.card-without-border
%ul.content-list.issues-list.issuable-list %ul.content-list.issues-list.issuable-list
= render partial: 'projects/issues/issue', collection: @issues = render partial: 'projects/issues/issue', collection: @issues
= paginate @issues, theme: "gitlab" = paginate @issues, theme: "gitlab"
......
- if @merge_requests.to_a.any? - if @merge_requests.to_a.any?
.panel.panel-default.panel-small.panel-without-border .card.card-small.card-without-border
%ul.content-list.mr-list.issuable-list %ul.content-list.mr-list.issuable-list
= render partial: 'projects/merge_requests/merge_request', collection: @merge_requests = render partial: 'projects/merge_requests/merge_request', collection: @merge_requests
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
- return if requesters.empty? - return if requesters.empty?
.panel.panel-default.prepend-top-default{ class: ('panel-mobile' if force_mobile_view ) } .card.prepend-top-default{ class: ('card-mobile' if force_mobile_view ) }
.panel-heading .card-header
Users requesting access to Users requesting access to
%strong= membership_source.name %strong= membership_source.name
%span.badge.badge-pill= requesters.size %span.badge.badge-pill= requesters.size
......
- show_counter = local_assigns.fetch(:show_counter, false) - show_counter = local_assigns.fetch(:show_counter, false)
- primary = local_assigns.fetch(:primary, false) - primary = local_assigns.fetch(:primary, false)
- panel_class = primary ? 'panel-primary' : 'panel-default' - panel_class = primary ? 'bg-primary' : ''
.panel{ class: panel_class } .card{ class: panel_class }
.panel-heading .card-header
.title .title
= title = title
- if show_counter - if show_counter
......
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
.col-lg-8.append-bottom-default .col-lg-8.append-bottom-default
- if plugins.any? - if plugins.any?
.panel.panel-default .card
.panel-heading .card-header
Plugins (#{plugins.count}) Plugins (#{plugins.count})
%ul.content-list %ul.content-list
- plugins.each do |file| - plugins.each do |file|
......
.prepend-top-default .prepend-top-default
.panel.panel-default .card
.panel-heading .card-header
%strong %strong
= t('sherlock.application_backtrace') = t('sherlock.application_backtrace')
%ul.well-list %ul.well-list
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
= t('sherlock.line') = t('sherlock.line')
= location.line = location.line
.panel.panel-default .card
.panel-heading .card-header
%strong %strong
= t('sherlock.full_backtrace') = t('sherlock.full_backtrace')
%ul.well-list %ul.well-list
......
.prepend-top-default .prepend-top-default
.panel.panel-default .card
.panel-heading .card-header
%strong %strong
= t('sherlock.general') = t('sherlock.general')
%ul.well-list %ul.well-list
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
= t('sherlock.line') = t('sherlock.line')
= frame.line = frame.line
.panel.panel-default .card
.panel-heading .card-header
.float-right .float-right
%button.js-clipboard-trigger.btn.btn-xs{ title: t('sherlock.copy_to_clipboard'), type: :button } %button.js-clipboard-trigger.btn.btn-xs{ title: t('sherlock.copy_to_clipboard'), type: :button }
%i.fa.fa-clipboard %i.fa.fa-clipboard
...@@ -38,8 +38,8 @@ ...@@ -38,8 +38,8 @@
:preserve :preserve
#{highlight("#{@query.id}.sql", @query.formatted_query)} #{highlight("#{@query.id}.sql", @query.formatted_query)}
.panel.panel-default .card
.panel-heading .card-header
.float-right .float-right
%button.js-clipboard-trigger.btn.btn-xs{ title: t('sherlock.copy_to_clipboard'), type: :button } %button.js-clipboard-trigger.btn.btn-xs{ title: t('sherlock.copy_to_clipboard'), type: :button }
%i.fa.fa-clipboard %i.fa.fa-clipboard
......
.prepend-top-default .prepend-top-default
.panel.panel-default .card
.panel-heading .card-header
%strong %strong
= t('sherlock.general') = t('sherlock.general')
%ul.well-list %ul.well-list
......
...@@ -63,6 +63,6 @@ class Spinach::Features::GroupMembers < Spinach::FeatureSteps ...@@ -63,6 +63,6 @@ class Spinach::Features::GroupMembers < Spinach::FeatureSteps
end end
def group_members_list def group_members_list
find(".panel .content-list") find(".card .content-list")
end end
end end
...@@ -33,12 +33,12 @@ describe 'Admin::RequestsProfilesController' do ...@@ -33,12 +33,12 @@ describe 'Admin::RequestsProfilesController' do
visit admin_requests_profiles_path visit admin_requests_profiles_path
within('.panel', text: '/gitlab-org/gitlab-ce') do within('.card', text: '/gitlab-org/gitlab-ce') do
expect(page).to have_selector("a[href='#{admin_requests_profile_path(profile1)}']", text: time1.to_s(:long)) expect(page).to have_selector("a[href='#{admin_requests_profile_path(profile1)}']", text: time1.to_s(:long))
expect(page).to have_selector("a[href='#{admin_requests_profile_path(profile2)}']", text: time2.to_s(:long)) expect(page).to have_selector("a[href='#{admin_requests_profile_path(profile2)}']", text: time2.to_s(:long))
end end
within('.panel', text: '/gitlab-com/infrastructure') do within('.card', text: '/gitlab-com/infrastructure') do
expect(page).to have_selector("a[href='#{admin_requests_profile_path(profile3)}']", text: time3.to_s(:long)) expect(page).to have_selector("a[href='#{admin_requests_profile_path(profile3)}']", text: time3.to_s(:long))
end end
end end
......
...@@ -283,14 +283,14 @@ describe "Admin::Users" do ...@@ -283,14 +283,14 @@ describe "Admin::Users" do
end end
it "lists group projects" do it "lists group projects" do
within(:css, '.append-bottom-default + .panel') do within(:css, '.append-bottom-default + .card') do
expect(page).to have_content 'Group projects' expect(page).to have_content 'Group projects'
expect(page).to have_link group.name, admin_group_path(group) expect(page).to have_link group.name, admin_group_path(group)
end end
end end
it 'allows navigation to the group details' do it 'allows navigation to the group details' do
within(:css, '.append-bottom-default + .panel') do within(:css, '.append-bottom-default + .card') do
click_link group.name click_link group.name
end end
within(:css, 'h3.page-title') do within(:css, 'h3.page-title') do
...@@ -300,7 +300,7 @@ describe "Admin::Users" do ...@@ -300,7 +300,7 @@ describe "Admin::Users" do
end end
it 'shows the group access level' do it 'shows the group access level' do
within(:css, '.append-bottom-default + .panel') do within(:css, '.append-bottom-default + .card') do
expect(page).to have_content 'Developer' expect(page).to have_content 'Developer'
end end
end end
......
...@@ -22,7 +22,7 @@ describe 'Search group member' do ...@@ -22,7 +22,7 @@ describe 'Search group member' do
find('.member-search-btn').click find('.member-search-btn').click
end end
group_members_list = find(".panel .content-list") group_members_list = find(".card .content-list")
expect(group_members_list).to have_content(member.name) expect(group_members_list).to have_content(member.name)
expect(group_members_list).not_to have_content(user.name) expect(group_members_list).not_to have_content(user.name)
end end
......
...@@ -21,7 +21,7 @@ feature 'Group Badges' do ...@@ -21,7 +21,7 @@ feature 'Group Badges' do
page.within '.badge-settings' do page.within '.badge-settings' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
expect(rows[0]).to have_content badge_1.link_url expect(rows[0]).to have_content badge_1.link_url
expect(rows[1]).to have_content badge_2.link_url expect(rows[1]).to have_content badge_2.link_url
...@@ -48,7 +48,7 @@ feature 'Group Badges' do ...@@ -48,7 +48,7 @@ feature 'Group Badges' do
click_button 'Add badge' click_button 'Add badge'
wait_for_requests wait_for_requests
within '.panel-body' do within '.card-body' do
expect(find('a')[:href]).to eq badge_link_url expect(find('a')[:href]).to eq badge_link_url
expect(find('a img')[:src]).to eq badge_image_url expect(find('a img')[:src]).to eq badge_image_url
end end
...@@ -60,7 +60,7 @@ feature 'Group Badges' do ...@@ -60,7 +60,7 @@ feature 'Group Badges' do
it 'form is shown when clicking edit button in list' do it 'form is shown when clicking edit button in list' do
page.within '.badge-settings' do page.within '.badge-settings' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
rows[1].find('[aria-label="Edit"]').click rows[1].find('[aria-label="Edit"]').click
...@@ -74,7 +74,7 @@ feature 'Group Badges' do ...@@ -74,7 +74,7 @@ feature 'Group Badges' do
it 'updates a badge when submitting the edit form' do it 'updates a badge when submitting the edit form' do
page.within '.badge-settings' do page.within '.badge-settings' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
rows[1].find('[aria-label="Edit"]').click rows[1].find('[aria-label="Edit"]').click
within 'form' do within 'form' do
...@@ -85,7 +85,7 @@ feature 'Group Badges' do ...@@ -85,7 +85,7 @@ feature 'Group Badges' do
wait_for_requests wait_for_requests
end end
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
expect(rows[1]).to have_content badge_link_url expect(rows[1]).to have_content badge_link_url
end end
...@@ -99,7 +99,7 @@ feature 'Group Badges' do ...@@ -99,7 +99,7 @@ feature 'Group Badges' do
it 'shows a modal when deleting a badge' do it 'shows a modal when deleting a badge' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
click_delete_button(rows[1]) click_delete_button(rows[1])
...@@ -109,14 +109,14 @@ feature 'Group Badges' do ...@@ -109,14 +109,14 @@ feature 'Group Badges' do
it 'deletes a badge when confirming the modal' do it 'deletes a badge when confirming the modal' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
click_delete_button(rows[1]) click_delete_button(rows[1])
find('.modal .btn-danger').click find('.modal .btn-danger').click
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 1 expect(rows.length).to eq 1
expect(rows[0]).to have_content badge_1.link_url expect(rows[0]).to have_content badge_1.link_url
end end
......
...@@ -22,7 +22,7 @@ feature 'Project Badges' do ...@@ -22,7 +22,7 @@ feature 'Project Badges' do
page.within '.badge-settings' do page.within '.badge-settings' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
expect(rows[0]).to have_content group_badge.link_url expect(rows[0]).to have_content group_badge.link_url
expect(rows[1]).to have_content project_badge.link_url expect(rows[1]).to have_content project_badge.link_url
...@@ -49,7 +49,7 @@ feature 'Project Badges' do ...@@ -49,7 +49,7 @@ feature 'Project Badges' do
click_button 'Add badge' click_button 'Add badge'
wait_for_requests wait_for_requests
within '.panel-body' do within '.card-body' do
expect(find('a')[:href]).to eq badge_link_url expect(find('a')[:href]).to eq badge_link_url
expect(find('a img')[:src]).to eq badge_image_url expect(find('a img')[:src]).to eq badge_image_url
end end
...@@ -61,7 +61,7 @@ feature 'Project Badges' do ...@@ -61,7 +61,7 @@ feature 'Project Badges' do
it 'form is shown when clicking edit button in list' do it 'form is shown when clicking edit button in list' do
page.within '.badge-settings' do page.within '.badge-settings' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
rows[1].find('[aria-label="Edit"]').click rows[1].find('[aria-label="Edit"]').click
...@@ -75,7 +75,7 @@ feature 'Project Badges' do ...@@ -75,7 +75,7 @@ feature 'Project Badges' do
it 'updates a badge when submitting the edit form' do it 'updates a badge when submitting the edit form' do
page.within '.badge-settings' do page.within '.badge-settings' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
rows[1].find('[aria-label="Edit"]').click rows[1].find('[aria-label="Edit"]').click
within 'form' do within 'form' do
...@@ -86,7 +86,7 @@ feature 'Project Badges' do ...@@ -86,7 +86,7 @@ feature 'Project Badges' do
wait_for_requests wait_for_requests
end end
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
expect(rows[1]).to have_content badge_link_url expect(rows[1]).to have_content badge_link_url
end end
...@@ -100,7 +100,7 @@ feature 'Project Badges' do ...@@ -100,7 +100,7 @@ feature 'Project Badges' do
it 'shows a modal when deleting a badge' do it 'shows a modal when deleting a badge' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
click_delete_button(rows[1]) click_delete_button(rows[1])
...@@ -110,14 +110,14 @@ feature 'Project Badges' do ...@@ -110,14 +110,14 @@ feature 'Project Badges' do
it 'deletes a badge when confirming the modal' do it 'deletes a badge when confirming the modal' do
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 2 expect(rows.length).to eq 2
click_delete_button(rows[1]) click_delete_button(rows[1])
find('.modal .btn-danger').click find('.modal .btn-danger').click
wait_for_requests wait_for_requests
rows = all('.panel-body > div') rows = all('.card-body > div')
expect(rows.length).to eq 1 expect(rows.length).to eq 1
expect(rows[0]).to have_content group_badge.link_url expect(rows[0]).to have_content group_badge.link_url
end end
......
...@@ -33,7 +33,7 @@ describe('BadgeList component', () => { ...@@ -33,7 +33,7 @@ describe('BadgeList component', () => {
}); });
it('renders a header with the badge count', () => { it('renders a header with the badge count', () => {
const header = vm.$el.querySelector('.panel-heading'); const header = vm.$el.querySelector('.card-header');
expect(header).toHaveText(new RegExp(`Your badges\\s+${numberOfDummyBadges}`)); expect(header).toHaveText(new RegExp(`Your badges\\s+${numberOfDummyBadges}`));
}); });
......
...@@ -60,7 +60,7 @@ describe('BadgeSettings component', () => { ...@@ -60,7 +60,7 @@ describe('BadgeSettings component', () => {
}); });
it('displays badge list', () => { it('displays badge list', () => {
const badgeListElement = vm.$el.querySelector('.panel'); const badgeListElement = vm.$el.querySelector('.card');
expect(badgeListElement).not.toBe(null); expect(badgeListElement).not.toBe(null);
expect(badgeListElement).toBeVisible(); expect(badgeListElement).toBeVisible();
expect(badgeListElement).toContainText('Your badges'); expect(badgeListElement).toContainText('Your badges');
...@@ -87,7 +87,7 @@ describe('BadgeSettings component', () => { ...@@ -87,7 +87,7 @@ describe('BadgeSettings component', () => {
}); });
it('displays no badge list', () => { it('displays no badge list', () => {
const badgeListElement = vm.$el.querySelector('.panel'); const badgeListElement = vm.$el.querySelector('.card');
expect(badgeListElement).toBeHidden(); expect(badgeListElement).toBeHidden();
}); });
}); });
......
...@@ -257,9 +257,9 @@ describe('BalsamiqViewer', () => { ...@@ -257,9 +257,9 @@ describe('BalsamiqViewer', () => {
name = 'name'; name = 'name';
resource = 'resource'; resource = 'resource';
template = ` template = `
<div class="panel panel-default"> <div class="card">
<div class="panel-heading">name</div> <div class="card-header">name</div>
<div class="panel-body"> <div class="card-body">
<img class="img-thumbnail" src="data:image/png;base64,image"/> <img class="img-thumbnail" src="data:image/png;base64,image"/>
</div> </div>
</div> </div>
......
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