From 6c828906a24e374c68884c8884135ec1472721b8 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Mon, 30 Jan 2017 15:56:45 +0000 Subject: [PATCH] Disabled add issues button if no lists exist --- .../javascripts/boards/boards_bundle.js.es6 | 29 ++++++++++++++----- .../projects/boards/issues_controller.rb | 2 +- app/views/shared/issuable/_filter.html.haml | 3 +- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/boards/boards_bundle.js.es6 b/app/assets/javascripts/boards/boards_bundle.js.es6 index 0e2794334fa..18b67abfccc 100644 --- a/app/assets/javascripts/boards/boards_bundle.js.es6 +++ b/app/assets/javascripts/boards/boards_bundle.js.es6 @@ -88,12 +88,25 @@ $(() => { } }); - // This element is outside the Vue app - $(document) - .off('click', '.js-show-add-issues') - .on('click', '.js-show-add-issues', (e) => { - e.preventDefault(); - - ModalStore.store.showAddIssuesModal = true; - }); + gl.IssueBoardsModalAddBtn = new Vue({ + el: '#js-add-issues-btn', + data: { + modal: ModalStore.store, + store: Store.state, + }, + computed: { + disabled() { + return Store.shouldAddBlankState(); + }, + }, + template: ` + + `, + }); }); diff --git a/app/controllers/projects/boards/issues_controller.rb b/app/controllers/projects/boards/issues_controller.rb index 7fe61c6800d..61fef4dc133 100644 --- a/app/controllers/projects/boards/issues_controller.rb +++ b/app/controllers/projects/boards/issues_controller.rb @@ -7,7 +7,7 @@ module Projects def index issues = ::Boards::Issues::ListService.new(project, current_user, filter_params).execute - issues = issues.page(params[:page]) + issues = issues.page(params[:page]).per(params[:per] || 20) render json: { issues: serialize_as_json(issues), diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml index 1b1348d435a..1eed314d068 100644 --- a/app/views/shared/issuable/_filter.html.haml +++ b/app/views/shared/issuable/_filter.html.haml @@ -38,8 +38,7 @@ #js-boards-search.issue-boards-search %input.pull-left.form-control{ type: "search", placeholder: "Filter by name...", "v-model" => "filters.search", "debounce" => "250" } - if can?(current_user, :admin_list, @project) - %button.btn.btn-create.pull-right.prepend-left-10.js-show-add-issues{ type: "button" } - Add issues + #js-add-issues-btn.pull-right.prepend-left-10 .dropdown.pull-right %button.btn.btn-create.btn-inverted.js-new-board-list{ type: "button", data: { toggle: "dropdown", labels: labels_filter_path, namespace_path: @project.try(:namespace).try(:path), project_path: @project.try(:path) } } Add list