diff options
author | Eric Eastwood <contact@ericeastwood.com> | 2017-05-22 22:58:23 +0300 |
---|---|---|
committer | Eric Eastwood <contact@ericeastwood.com> | 2017-05-26 10:42:13 +0300 |
commit | 733eec88e4c397c590165c7acd437c1889b38119 (patch) | |
tree | d820e332fe97f54185a03ca2dd6cbd41e42832a8 /app/assets/javascripts/boards | |
parent | 8e2fefc6c44fc3c6140e5cbc4b56c58c90dc07f3 (diff) |
Backport canEdit changes for conditional remove button
Backport Fix locked milestone in boards being remove-able.
See https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1963
Fix https://gitlab.com/gitlab-org/gitlab-ee/issues/2433
Conflicts:
app/assets/javascripts/boards/boards_bundle.js
app/assets/javascripts/boards/filtered_search_boards.js
app/assets/javascripts/filtered_search/filtered_search_manager.js
spec/features/boards/boards_spec.rb
Diffstat (limited to 'app/assets/javascripts/boards')
-rw-r--r-- | app/assets/javascripts/boards/boards_bundle.js | 1 | ||||
-rw-r--r-- | app/assets/javascripts/boards/components/modal/filters.js | 1 | ||||
-rw-r--r-- | app/assets/javascripts/boards/filtered_search_boards.js | 8 |
3 files changed, 9 insertions, 1 deletions
diff --git a/app/assets/javascripts/boards/boards_bundle.js b/app/assets/javascripts/boards/boards_bundle.js index e0a6f64dd42..0e4aa39226b 100644 --- a/app/assets/javascripts/boards/boards_bundle.js +++ b/app/assets/javascripts/boards/boards_bundle.js @@ -70,6 +70,7 @@ $(() => { gl.boardService = new BoardService(this.endpoint, this.bulkUpdatePath, this.boardId); this.filterManager = new FilteredSearchBoards(Store.filter, true); + this.filterManager.setup(); // Listen for updateTokens event eventHub.$on('updateTokens', this.updateTokens); diff --git a/app/assets/javascripts/boards/components/modal/filters.js b/app/assets/javascripts/boards/components/modal/filters.js index b214b5a7199..56a0fde5a91 100644 --- a/app/assets/javascripts/boards/components/modal/filters.js +++ b/app/assets/javascripts/boards/components/modal/filters.js @@ -13,6 +13,7 @@ export default { FilteredSearchContainer.container = this.$el; this.filteredSearch = new FilteredSearchBoards(this.store); + this.filteredSearch.setup(); this.filteredSearch.removeTokens(); this.filteredSearch.handleInputPlaceholder(); this.filteredSearch.toggleClearSearchButton(); diff --git a/app/assets/javascripts/boards/filtered_search_boards.js b/app/assets/javascripts/boards/filtered_search_boards.js index 1264280284c..b37698fe9ca 100644 --- a/app/assets/javascripts/boards/filtered_search_boards.js +++ b/app/assets/javascripts/boards/filtered_search_boards.js @@ -2,7 +2,7 @@ import FilteredSearchContainer from '../filtered_search/container'; export default class FilteredSearchBoards extends gl.FilteredSearchManager { - constructor(store, updateUrl = false) { + constructor(store, updateUrl = false, cantEdit = []) { super('boards'); this.store = store; @@ -11,6 +11,8 @@ export default class FilteredSearchBoards extends gl.FilteredSearchManager { // Issue boards is slightly different, we handle all the requests async // instead or reloading the page, we just re-fire the list ajax requests this.isHandledAsync = true; + + this.cantEdit = cantEdit; } updateObject(path) { @@ -40,4 +42,8 @@ export default class FilteredSearchBoards extends gl.FilteredSearchManager { // Get the placeholder back if search is empty this.filteredSearchInput.dispatchEvent(new Event('input')); } + + canEdit(tokenName) { + return this.cantEdit.indexOf(tokenName) === -1; + } } |