Commit 81ac42bd authored by Alfredo Sumaran's avatar Alfredo Sumaran

Merge branch '29432-prevent-click-disabled-btn' into 'master'

Prevent clicking on disabled button

Closes #29432

See merge request !9931
parents 0a4b853f e71a6c90
...@@ -459,20 +459,13 @@ a.deploy-project-label { ...@@ -459,20 +459,13 @@ a.deploy-project-label {
flex-wrap: wrap; flex-wrap: wrap;
.btn { .btn {
margin: 0 10px 10px 0;
padding: 8px; padding: 8px;
margin-left: 10px;
} }
> div { > div {
margin-bottom: 10px;
padding-left: 0; padding-left: 0;
&:last-child {
margin-bottom: 0;
.btn {
margin-right: 0;
}
}
} }
} }
} }
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
- if git_import_enabled? - if git_import_enabled?
%button.btn.js-toggle-button.import_git{ type: "button" } %button.btn.js-toggle-button.import_git{ type: "button" }
= icon('git', text: 'Repo by URL') = icon('git', text: 'Repo by URL')
.import_gitlab_project .import_gitlab_project.has-tooltip{ data: { container: 'body' } }
- if gitlab_project_import_enabled? - if gitlab_project_import_enabled?
= link_to new_import_gitlab_project_path, class: 'btn btn_import_gitlab_project project-submit' do = link_to new_import_gitlab_project_path, class: 'btn btn_import_gitlab_project project-submit' do
= icon('gitlab', text: 'GitLab export') = icon('gitlab', text: 'GitLab export')
...@@ -109,6 +109,9 @@ ...@@ -109,6 +109,9 @@
%p Please wait a moment, this page will automatically refresh when ready. %p Please wait a moment, this page will automatically refresh when ready.
:javascript :javascript
var importBtnTooltip = "Please enter a valid project name.";
var $importBtnWrapper = $('.import_gitlab_project');
$('.how_to_import_link').bind('click', function (e) { $('.how_to_import_link').bind('click', function (e) {
e.preventDefault(); e.preventDefault();
var import_modal = $(this).next(".modal").show(); var import_modal = $(this).next(".modal").show();
...@@ -123,15 +126,8 @@ ...@@ -123,15 +126,8 @@
$(".btn_import_gitlab_project").attr("href", _href + '?namespace_id=' + $("#project_namespace_id").val() + '&path=' + $("#project_path").val()); $(".btn_import_gitlab_project").attr("href", _href + '?namespace_id=' + $("#project_namespace_id").val() + '&path=' + $("#project_path").val());
}); });
$('.btn_import_gitlab_project').attr('disabled',true) $('.btn_import_gitlab_project').attr('disabled', $('#project_path').val().trim().length === 0);
$('.import_gitlab_project').attr('title', 'Project path and name required.'); $importBtnWrapper.attr('title', importBtnTooltip);
$('.import_gitlab_project').click(function( event ) {
if($('.btn_import_gitlab_project').attr('disabled')) {
event.preventDefault();
new Flash("Please enter path and name for the project to be imported to.");
}
});
$('#new_project').submit(function(){ $('#new_project').submit(function(){
var $path = $('#project_path'); var $path = $('#project_path');
...@@ -139,13 +135,13 @@ ...@@ -139,13 +135,13 @@
}); });
$('#project_path').keyup(function(){ $('#project_path').keyup(function(){
if($(this).val().length !=0) { if($(this).val().trim().length !== 0) {
$('.btn_import_gitlab_project').attr('disabled', false); $('.btn_import_gitlab_project').attr('disabled', false);
$('.import_gitlab_project').attr('title',''); $importBtnWrapper.attr('title','');
$(".flash-container").html("") $importBtnWrapper.removeClass('has-tooltip');
} else { } else {
$('.btn_import_gitlab_project').attr('disabled',true); $('.btn_import_gitlab_project').attr('disabled',true);
$('.import_gitlab_project').attr('title', 'Project path and name required.'); $importBtnWrapper.addClass('has-tooltip');
} }
}); });
......
---
title: Fix project title validation, prevent clicking on disabled button
merge_request: 9931
author:
...@@ -69,12 +69,8 @@ feature 'Import/Export - project import integration test', feature: true, js: tr ...@@ -69,12 +69,8 @@ feature 'Import/Export - project import integration test', feature: true, js: tr
select2(namespace.id, from: '#project_namespace_id') select2(namespace.id, from: '#project_namespace_id')
# click on disabled element # Check for tooltip disabled import button
find(:link, 'GitLab export').trigger('click') expect(find('.import_gitlab_project')['title']).to eq('Please enter a valid project name.')
page.within('.flash-container') do
expect(page).to have_content('Please enter path and name')
end
end end
end end
......
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