Commit 1d80cd31 authored by Robert Speicher's avatar Robert Speicher

Add clipboard button to project clone panel

Closes #3585
parent 7dab8ed7
...@@ -3,11 +3,9 @@ class @Project ...@@ -3,11 +3,9 @@ class @Project
# Git clone panel switcher # Git clone panel switcher
cloneHolder = $('.git-clone-holder') cloneHolder = $('.git-clone-holder')
if cloneHolder.length if cloneHolder.length
$('a, button', cloneHolder).click -> $('.js-protocol-switch', cloneHolder).click ->
$('a, button', cloneHolder).removeClass 'active' $('.js-protocol-switch', cloneHolder).toggleClass('active')
$(@).addClass 'active' $('#project_clone').val($(@).data('clone'))
$('#project_clone', cloneHolder).val $(@).data 'clone'
$(".clone").text("").append $(@).data 'clone'
# Ref switcher # Ref switcher
$('.project-refs-select').on 'change', -> $('.project-refs-select').on 'change', ->
...@@ -39,4 +37,4 @@ class @Project ...@@ -39,4 +37,4 @@ class @Project
when 4 then label = ' On Mention ' when 4 then label = ' On Mention '
$('#notifications-button').empty().append("<i class='fa fa-bell'></i>" + label + "<i class='fa fa-angle-down'></i>") $('#notifications-button').empty().append("<i class='fa fa-bell'></i>" + label + "<i class='fa fa-angle-down'></i>")
$(@).parents('ul').find('li.active').removeClass 'active' $(@).parents('ul').find('li.active').removeClass 'active'
$(@).parent().addClass 'active' $(@).parent().addClass 'active'
\ No newline at end of file
...@@ -178,6 +178,11 @@ ...@@ -178,6 +178,11 @@
&:active { &:active {
outline: none; outline: none;
} }
&.btn-clipboard {
padding-left: 15px;
padding-right: 15px;
}
} }
.active { .active {
...@@ -552,4 +557,4 @@ pre.light-well { ...@@ -552,4 +557,4 @@ pre.light-well {
z-index: 100; z-index: 100;
position: relative; position: relative;
} }
} }
\ No newline at end of file
...@@ -23,7 +23,7 @@ module ButtonHelper ...@@ -23,7 +23,7 @@ module ButtonHelper
end end
def http_clone_button(project) def http_clone_button(project)
klass = 'btn' klass = 'btn js-protocol-switch'
klass << ' active' if default_clone_protocol == 'http' klass << ' active' if default_clone_protocol == 'http'
klass << ' has_tooltip' if current_user.try(:require_password?) klass << ' has_tooltip' if current_user.try(:require_password?)
...@@ -41,7 +41,7 @@ module ButtonHelper ...@@ -41,7 +41,7 @@ module ButtonHelper
end end
def ssh_clone_button(project) def ssh_clone_button(project)
klass = 'btn' klass = 'btn js-protocol-switch'
klass << ' active' if default_clone_protocol == 'ssh' klass << ' active' if default_clone_protocol == 'ssh'
klass << ' has_tooltip' if current_user.try(:require_ssh_key?) klass << ' has_tooltip' if current_user.try(:require_ssh_key?)
......
...@@ -173,8 +173,7 @@ module ProjectsHelper ...@@ -173,8 +173,7 @@ module ProjectsHelper
'unknown' 'unknown'
end end
def default_url_to_repo(project = nil) def default_url_to_repo(project = @project)
project = project || @project
current_user ? project.url_to_repo : project.http_url_to_repo current_user ? project.url_to_repo : project.http_url_to_repo
end end
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
.input-group-btn .input-group-btn
= http_clone_button(project) = http_clone_button(project)
= text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true = text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true
.input-group-btn
= clipboard_button(clipboard_target: '#project_clone')
- if project.kind_of?(Project) - if project.kind_of?(Project)
.input-group-addon.has_tooltip{title: "#{visibility_level_label(project.visibility_level)} project", data: { container: "body" } } .input-group-addon.has_tooltip{title: "#{visibility_level_label(project.visibility_level)} project", data: { container: "body" } }
.visibility-level-label .visibility-level-label
......
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