Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/projects/buttons/_code.html.haml')
-rw-r--r--app/views/projects/buttons/_code.html.haml59
1 files changed, 59 insertions, 0 deletions
diff --git a/app/views/projects/buttons/_code.html.haml b/app/views/projects/buttons/_code.html.haml
new file mode 100644
index 00000000000..0b2a527025e
--- /dev/null
+++ b/app/views/projects/buttons/_code.html.haml
@@ -0,0 +1,59 @@
+- project = project || @project
+- dropdown_class = local_assigns.fetch(:dropdown_class, '')
+- ref = local_assigns.fetch(:ref)
+
+- if can?(current_user, :download_code, @project)
+ .git-clone-holder.js-git-clone-holder
+ = render Pajamas::ButtonComponent.new(variant: :confirm, button_options: { id: 'clone-dropdown', class: 'clone-dropdown-btn', data: { toggle: 'dropdown', qa_selector: 'clone_dropdown' } }) do
+ %span.js-clone-dropdown-label
+ = _('Code')
+ = sprite_icon("chevron-down", css_class: "icon")
+ %ul.dropdown-menu.dropdown-menu-large.clone-options-dropdown{ class: dropdown_class, data: { qa_selector: 'clone_dropdown_content' } }
+ - if ssh_enabled?
+ %li.gl-dropdown-item.js-clone-links{ class: 'gl-px-4!' }
+ %label.label-bold
+ = _('Clone with SSH')
+ .input-group.btn-group
+ = text_field_tag :ssh_project_clone, ssh_clone_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true, aria: { label: _('Repository clone URL') }, data: { qa_selector: 'ssh_clone_url_content' }
+ .input-group-append
+ = clipboard_button(target: '#ssh_project_clone', title: _("Copy URL"), category: :primary, size: :medium)
+ = render_if_exists 'projects/buttons/geo'
+ - if http_enabled?
+ %li.pt-2.gl-dropdown-item.js-clone-links{ class: 'gl-px-4!' }
+ %label.label-bold
+ = _('Clone with %{http_label}') % { http_label: gitlab_config.protocol.upcase }
+ .input-group.btn-group
+ = text_field_tag :http_project_clone, http_clone_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true, aria: { label: _('Repository clone URL') }, data: { qa_selector: 'http_clone_url_content' }
+ .input-group-append
+ = clipboard_button(target: '#http_project_clone', title: _("Copy URL"), category: :primary, size: :medium)
+ = render_if_exists 'projects/buttons/geo'
+ = render_if_exists 'projects/buttons/kerberos_clone_field'
+ %li.divider.mt-2
+ %li.pt-2.gl-dropdown-item.js-clone-links
+ %label.label-bold{ class: 'gl-px-4!' }
+ = _('Open in your IDE')
+ - if ssh_enabled?
+ - escaped_ssh_url_to_repo = CGI.escape(ssh_clone_url_to_repo(project))
+ %a.dropdown-item.open-with-link{ href: 'vscode://vscode.git/clone?url=' + escaped_ssh_url_to_repo }
+ .gl-dropdown-item-text-wrapper
+ = _('Visual Studio Code (SSH)')
+ - if http_enabled?
+ - escaped_http_url_to_repo = CGI.escape(http_clone_url_to_repo(project))
+ %a.dropdown-item.open-with-link{ href: 'vscode://vscode.git/clone?url=' + escaped_http_url_to_repo }
+ .gl-dropdown-item-text-wrapper
+ = _('Visual Studio Code (HTTPS)')
+ - if ssh_enabled?
+ %a.dropdown-item.open-with-link{ href: 'jetbrains://idea/checkout/git?idea.required.plugins.id=Git4Idea&checkout.repo=' + escaped_ssh_url_to_repo }
+ .gl-dropdown-item-text-wrapper
+ = _('IntelliJ IDEA (SSH)')
+ - if http_enabled?
+ %a.dropdown-item.open-with-link{ href: 'jetbrains://idea/checkout/git?idea.required.plugins.id=Git4Idea&checkout.repo=' + escaped_http_url_to_repo }
+ .gl-dropdown-item-text-wrapper
+ = _('IntelliJ IDEA (HTTPS)')
+ - if show_xcode_link?(@project)
+ %a.dropdown-item.open-with-link{ href: xcode_uri_to_repo(@project) }
+ .gl-dropdown-item-text-wrapper
+ = _("Xcode")
+ - if !project.empty_repo? && can?(current_user, :download_code, project)
+ %li.divider.mt-2
+ = render 'projects/buttons/download_menu_items', project: project, ref: ref