Merge branch '22456-option-to-choose-for-no-issue-template' into 'master'
Added 'No template' functionality to issuable templates ## What does this MR do? Adds dropdown new footer item `.no-template`, when clicked it clears the `currentTemplate`, updates the editor and resets the dropdown toggle text. ## Are there points in the code the reviewer needs to double check? ## Why was this MR needed? ## Screenshots (if relevant) ![2016-10-10_03.21.45](/uploads/86ae95410807c66ce7b8be63c7ec2c20/2016-10-10_03.21.45.gif) ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ ] API support added - Tests - [x] Added for this feature/bug - [x] All builds are passing - [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if it does - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? Closes #22456 See merge request !6765
This commit is contained in:
commit
fd2b79b664
3 changed files with 42 additions and 8 deletions
|
@ -16,7 +16,13 @@
|
|||
if (initialQuery.name) this.requestFile(initialQuery);
|
||||
|
||||
$('.reset-template', this.dropdown.parent()).on('click', () => {
|
||||
if (this.currentTemplate) this.setInputValueToTemplateContent(false);
|
||||
this.setInputValueToTemplateContent();
|
||||
});
|
||||
|
||||
$('.no-template', this.dropdown.parent()).on('click', () => {
|
||||
this.currentTemplate = '';
|
||||
this.setInputValueToTemplateContent();
|
||||
$('.dropdown-toggle-text', this.dropdown).text('Choose a template');
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
data: { data: issuable_template_names, field_name: 'issuable_template', selected: selected_template(issuable), project_path: ref_project.path, namespace_path: ref_project.namespace.path } } ) do
|
||||
%ul.dropdown-footer-list
|
||||
%li
|
||||
%a.no-template
|
||||
No template
|
||||
%a.reset-template
|
||||
Reset template
|
||||
%div{ class: issuable_template_names.any? ? 'col-sm-7 col-lg-8' : 'col-sm-10' }
|
||||
|
|
|
@ -15,6 +15,7 @@ feature 'issuable templates', feature: true, js: true do
|
|||
let(:template_content) { 'this is a test "bug" template' }
|
||||
let(:longtemplate_content) { %Q(this\n\n\n\n\nis\n\n\n\n\na\n\n\n\n\nbug\n\n\n\n\ntemplate) }
|
||||
let(:issue) { create(:issue, author: user, assignee: user, project: project) }
|
||||
let(:description_addition) { ' appending to description' }
|
||||
|
||||
background do
|
||||
project.repository.commit_file(user, '.gitlab/issue_templates/bug.md', template_content, 'added issue template', 'master', false)
|
||||
|
@ -26,7 +27,26 @@ feature 'issuable templates', feature: true, js: true do
|
|||
scenario 'user selects "bug" template' do
|
||||
select_template 'bug'
|
||||
wait_for_ajax
|
||||
preview_template(template_content)
|
||||
preview_template
|
||||
save_changes
|
||||
end
|
||||
|
||||
scenario 'user selects "bug" template and then "no template"' do
|
||||
select_template 'bug'
|
||||
wait_for_ajax
|
||||
select_option 'No template'
|
||||
wait_for_ajax
|
||||
preview_template('')
|
||||
save_changes('')
|
||||
end
|
||||
|
||||
scenario 'user selects "bug" template, edits description and then selects "reset template"' do
|
||||
select_template 'bug'
|
||||
wait_for_ajax
|
||||
find_field('issue_description').send_keys(description_addition)
|
||||
preview_template(template_content + description_addition)
|
||||
select_option 'Reset template'
|
||||
preview_template
|
||||
save_changes
|
||||
end
|
||||
|
||||
|
@ -37,7 +57,7 @@ feature 'issuable templates', feature: true, js: true do
|
|||
wait_for_ajax
|
||||
|
||||
end_height = page.evaluate_script('$(".markdown-area").outerHeight()')
|
||||
|
||||
|
||||
expect(end_height).not_to eq(start_height)
|
||||
end
|
||||
end
|
||||
|
@ -75,7 +95,7 @@ feature 'issuable templates', feature: true, js: true do
|
|||
scenario 'user selects "feature-proposal" template' do
|
||||
select_template 'feature-proposal'
|
||||
wait_for_ajax
|
||||
preview_template(template_content)
|
||||
preview_template
|
||||
save_changes
|
||||
end
|
||||
end
|
||||
|
@ -102,25 +122,31 @@ feature 'issuable templates', feature: true, js: true do
|
|||
scenario 'user selects template' do
|
||||
select_template 'feature-proposal'
|
||||
wait_for_ajax
|
||||
preview_template(template_content)
|
||||
preview_template
|
||||
save_changes
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def preview_template(expected_content)
|
||||
def preview_template(expected_content = template_content)
|
||||
click_link 'Preview'
|
||||
expect(page).to have_content expected_content
|
||||
click_link 'Write'
|
||||
end
|
||||
|
||||
def save_changes
|
||||
def save_changes(expected_content = template_content)
|
||||
click_button "Save changes"
|
||||
expect(page).to have_content template_content
|
||||
expect(page).to have_content expected_content
|
||||
end
|
||||
|
||||
def select_template(name)
|
||||
first('.js-issuable-selector').click
|
||||
first('.js-issuable-selector-wrap .dropdown-content a', text: name).click
|
||||
end
|
||||
|
||||
def select_option(name)
|
||||
first('.js-issuable-selector').click
|
||||
first('.js-issuable-selector-wrap .dropdown-footer-list a', text: name).click
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue