summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/boards/components/new_list_dropdown.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/boards/components/new_list_dropdown.js')
-rw-r--r--app/assets/javascripts/boards/components/new_list_dropdown.js32
1 files changed, 22 insertions, 10 deletions
diff --git a/app/assets/javascripts/boards/components/new_list_dropdown.js b/app/assets/javascripts/boards/components/new_list_dropdown.js
index 2e356f1353a..c8926c5ef2a 100644
--- a/app/assets/javascripts/boards/components/new_list_dropdown.js
+++ b/app/assets/javascripts/boards/components/new_list_dropdown.js
@@ -6,8 +6,14 @@ import axios from '~/lib/utils/axios_utils';
import { deprecatedCreateFlash as flash } from '~/flash';
import CreateLabelDropdown from '../../create_label';
import boardsStore from '../stores/boards_store';
+import { fullLabelId } from '../boards_util';
+import store from '~/boards/stores';
import initDeprecatedJQueryDropdown from '~/deprecated_jquery_dropdown';
+function shouldCreateListGraphQL(label) {
+ return store.getters.shouldUseGraphQL && !store.getters.getListByLabelId(fullLabelId(label));
+}
+
$(document)
.off('created.label')
.on('created.label', (e, label, addNewList) => {
@@ -15,16 +21,20 @@ $(document)
return;
}
- boardsStore.new({
- title: label.title,
- position: boardsStore.state.lists.length - 2,
- list_type: 'label',
- label: {
- id: label.id,
+ if (shouldCreateListGraphQL(label)) {
+ store.dispatch('createList', { labelId: fullLabelId(label) });
+ } else {
+ boardsStore.new({
title: label.title,
- color: label.color,
- },
- });
+ position: boardsStore.state.lists.length - 2,
+ list_type: 'label',
+ label: {
+ id: label.id,
+ title: label.title,
+ color: label.color,
+ },
+ });
+ }
});
export default function initNewListDropdown() {
@@ -74,7 +84,9 @@ export default function initNewListDropdown() {
const label = options.selectedObj;
e.preventDefault();
- if (!boardsStore.findListByLabelId(label.id)) {
+ if (shouldCreateListGraphQL(label)) {
+ store.dispatch('createList', { labelId: fullLabelId(label) });
+ } else if (!boardsStore.findListByLabelId(label.id)) {
boardsStore.new({
title: label.title,
position: boardsStore.state.lists.length - 2,