diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-09-20 09:06:17 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-09-20 09:06:17 +0000 |
commit | 8ac91ecfd1bb445a0a1572b3c0885c41c9037e8a (patch) | |
tree | 4b8c9d2a99ad50ef84421b57758869863ea477a2 /app | |
parent | 7e20809103e1f9c0c96c3a96705224c81bf448d5 (diff) | |
download | gitlab-ce-8ac91ecfd1bb445a0a1572b3c0885c41c9037e8a.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js | 37 | ||||
-rw-r--r-- | app/assets/stylesheets/pages/projects.scss | 7 | ||||
-rw-r--r-- | app/presenters/project_presenter.rb | 3 | ||||
-rw-r--r-- | app/views/admin/projects/index.html.haml | 32 | ||||
-rw-r--r-- | app/views/clusters/clusters/show.html.haml | 9 | ||||
-rw-r--r-- | app/views/groups/projects.html.haml | 41 |
6 files changed, 73 insertions, 56 deletions
diff --git a/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js b/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js index 75777b910ca..87c8568802e 100644 --- a/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js +++ b/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js @@ -1,5 +1,7 @@ import sqljs from 'sql.js'; import { template as _template } from 'underscore'; +import axios from '~/lib/utils/axios_utils'; +import { successCodes } from '~/lib/utils/http_status'; const PREVIEW_TEMPLATE = _template(` <div class="card"> @@ -16,30 +18,25 @@ class BalsamiqViewer { } loadFile(endpoint) { - return new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - - xhr.open('GET', endpoint, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = loadEvent => this.fileLoaded(loadEvent, resolve, reject); - xhr.onerror = reject; - - xhr.send(); - }); - } - - fileLoaded(loadEvent, resolve, reject) { - if (loadEvent.target.status !== 200) return reject(); - - this.renderFile(loadEvent); - - return resolve(); + return axios + .get(endpoint, { + responseType: 'arraybuffer', + validateStatus(status) { + return status !== successCodes.OK; + }, + }) + .then(({ data }) => { + this.renderFile(data); + }) + .catch(e => { + throw new Error(e); + }); } - renderFile(loadEvent) { + renderFile(fileBuffer) { const container = document.createElement('ul'); - this.initDatabase(loadEvent.target.response); + this.initDatabase(fileBuffer); const previews = this.getPreviews(); previews.forEach(preview => { diff --git a/app/assets/stylesheets/pages/projects.scss b/app/assets/stylesheets/pages/projects.scss index 801e9e7204c..7577112cb0e 100644 --- a/app/assets/stylesheets/pages/projects.scss +++ b/app/assets/stylesheets/pages/projects.scss @@ -877,11 +877,16 @@ pre.light-well { flex-direction: column; // Disable Flexbox for admin page - &.admin-projects { + &.admin-projects, + &.group-settings-projects { display: block; .project-row { display: block; + + .description > p { + margin-bottom: 0; + } } } diff --git a/app/presenters/project_presenter.rb b/app/presenters/project_presenter.rb index 6c300cd8be1..6d370f6241c 100644 --- a/app/presenters/project_presenter.rb +++ b/app/presenters/project_presenter.rb @@ -51,7 +51,8 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated new_file_anchor_data, readme_anchor_data, changelog_anchor_data, - contribution_guide_anchor_data + contribution_guide_anchor_data, + gitlab_ci_anchor_data ].compact.reject { |item| item.is_link } end diff --git a/app/views/admin/projects/index.html.haml b/app/views/admin/projects/index.html.haml index bb0d62a70c0..08e668e8623 100644 --- a/app/views/admin/projects/index.html.haml +++ b/app/views/admin/projects/index.html.haml @@ -1,8 +1,20 @@ -- page_title "Projects" +- page_title _('Projects') - params[:visibility_level] ||= [] .top-area.scrolling-tabs-container.inner-page-scroll-tabs - .prepend-top-default + %ul.nav-links.nav.nav-tabs + - opts = params[:visibility_level].present? ? {} : { page: admin_projects_path } + = nav_link(opts) do + = link_to _('All'), admin_projects_path + + = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::PRIVATE.to_s) }) do + = link_to _('Private'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PRIVATE) + = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::INTERNAL.to_s) }) do + = link_to _('Internal'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::INTERNAL) + = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::PUBLIC.to_s) }) do + = link_to _('Public'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PUBLIC) + + .nav-controls .search-holder = render 'shared/projects/search_form', autofocus: true, admin_view: true .dropdown @@ -22,20 +34,4 @@ New Project = button_tag "Search", class: "btn btn-primary btn-search hide" - %ul.nav-links.nav.nav-tabs - - opts = params[:visibility_level].present? ? {} : { page: admin_projects_path } - = nav_link(opts) do - = link_to admin_projects_path do - All - - = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::PRIVATE.to_s) }) do - = link_to admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PRIVATE) do - Private - = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::INTERNAL.to_s) }) do - = link_to admin_projects_path(visibility_level: Gitlab::VisibilityLevel::INTERNAL) do - Internal - = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::PUBLIC.to_s) }) do - = link_to admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PUBLIC) do - Public - = render 'projects' diff --git a/app/views/clusters/clusters/show.html.haml b/app/views/clusters/clusters/show.html.haml index 00fdd5e9562..cccba48624b 100644 --- a/app/views/clusters/clusters/show.html.haml +++ b/app/views/clusters/clusters/show.html.haml @@ -3,6 +3,7 @@ - breadcrumb_title @cluster.name - page_title _('Kubernetes Cluster') - manage_prometheus_path = edit_project_service_path(@cluster.project, 'prometheus') if @project +- cluster_environments_path = clusterable.environments_cluster_path(@cluster) - expanded = expanded_by_default? @@ -16,7 +17,7 @@ install_jupyter_path: clusterable.install_applications_cluster_path(@cluster, :jupyter), install_knative_path: clusterable.install_applications_cluster_path(@cluster, :knative), update_knative_path: clusterable.update_applications_cluster_path(@cluster, :knative), - cluster_environments_path: clusterable.environments_cluster_path(@cluster), + cluster_environments_path: cluster_environments_path, toggle_status: @cluster.enabled? ? 'true': 'false', has_rbac: has_rbac_enabled?(@cluster) ? 'true': 'false', cluster_type: @cluster.cluster_type, @@ -37,7 +38,7 @@ %h4= @cluster.name = render 'banner' - = render_if_exists 'clusters/clusters/group_cluster_environments', expanded: expanded - - - unless Gitlab.ee? + - if cluster_environments_path.present? + = render_if_exists 'clusters/clusters/group_cluster_environments', expanded: expanded + - else = render 'configure', expanded: expanded diff --git a/app/views/groups/projects.html.haml b/app/views/groups/projects.html.haml index ba186875a86..8b01e54474a 100644 --- a/app/views/groups/projects.html.haml +++ b/app/views/groups/projects.html.haml @@ -8,21 +8,38 @@ .controls = link_to new_project_path(namespace_id: @group.id), class: "btn btn-sm btn-success" do New project - %ul.content-list + %ul.projects-list.content-list.group-settings-projects - @projects.each do |project| - %li - .list-item-name - %span{ class: visibility_level_color(project.visibility_level) } - = visibility_level_icon(project.visibility_level) - %strong= link_to project.full_name, project - .float-right + %li.project-row{ class: ('no-description' if project.description.blank?) } + .controls + = link_to _('Members'), project_project_members_path(project), id: "edit_#{dom_id(project)}", class: "btn" + = link_to _('Edit'), edit_project_path(project), id: "edit_#{dom_id(project)}", class: "btn" + = link_to _('Remove'), project, data: { confirm: remove_project_message(project)}, method: :delete, class: "btn btn-remove" + + .stats + %span.badge.badge-pill + = storage_counter(project.statistics&.storage_size) - if project.archived %span.badge.badge-warning archived - %span.badge.badge-pill - = storage_counter(project.statistics.storage_size) - = link_to 'Members', project_project_members_path(project), id: "edit_#{dom_id(project)}", class: "btn btn-sm" - = link_to 'Edit', edit_project_path(project), id: "edit_#{dom_id(project)}", class: "btn btn-sm" - = link_to 'Remove', project, data: { confirm: remove_project_message(project)}, method: :delete, class: "btn btn-sm btn-remove" + + .title + = link_to(project_path(project)) do + .dash-project-avatar + .avatar-container.rect-avatar.s40 + = project_icon(project, alt: '', class: 'avatar project-avatar s40', width: 40, height: 40) + %span.project-full-name + %span.namespace-name + - if project.namespace + = project.namespace.human_name + \/ + %span.project-name + = project.name + %span{ class: visibility_level_color(project.visibility_level) } + = visibility_level_icon(project.visibility_level) + + - if project.description.present? + .description + = markdown_field(project, :description) - if @projects.blank? .nothing-here-block This group has no projects yet |