Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 18:44:42 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 18:44:42 +0300
commit4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch)
tree5423a1c7516cffe36384133ade12572cf709398d /app/assets/javascripts/boards/stores
parente570267f2f6b326480d284e0164a6464ba4081bc (diff)
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'app/assets/javascripts/boards/stores')
-rw-r--r--app/assets/javascripts/boards/stores/actions.js113
-rw-r--r--app/assets/javascripts/boards/stores/getters.js2
-rw-r--r--app/assets/javascripts/boards/stores/mutation_types.js10
-rw-r--r--app/assets/javascripts/boards/stores/mutations.js48
4 files changed, 48 insertions, 125 deletions
diff --git a/app/assets/javascripts/boards/stores/actions.js b/app/assets/javascripts/boards/stores/actions.js
index 8005414962c..5158e82c320 100644
--- a/app/assets/javascripts/boards/stores/actions.js
+++ b/app/assets/javascripts/boards/stores/actions.js
@@ -1,8 +1,4 @@
import * as Sentry from '@sentry/browser';
-import { pick } from 'lodash';
-import createBoardListMutation from 'ee_else_ce/boards/graphql/board_list_create.mutation.graphql';
-import boardListsQuery from 'ee_else_ce/boards/graphql/board_lists.query.graphql';
-import issueMoveListMutation from 'ee_else_ce/boards/graphql/issue_move_list.mutation.graphql';
import {
BoardType,
ListType,
@@ -11,7 +7,14 @@ import {
ISSUABLE,
titleQueries,
subscriptionQueries,
-} from '~/boards/constants';
+ SupportedFilters,
+ deleteListQueries,
+ listsQuery,
+ updateListQueries,
+ issuableTypes,
+} from 'ee_else_ce/boards/constants';
+import createBoardListMutation from 'ee_else_ce/boards/graphql/board_list_create.mutation.graphql';
+import issueMoveListMutation from 'ee_else_ce/boards/graphql/issue_move_list.mutation.graphql';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import createGqClient, { fetchPolicies } from '~/lib/graphql';
import { convertObjectPropsToCamelCase, urlParamsToObject } from '~/lib/utils/common_utils';
@@ -19,7 +22,6 @@ import { s__ } from '~/locale';
import {
formatBoardLists,
formatListIssues,
- fullBoardId,
formatListsPageInfo,
formatIssue,
formatIssueInput,
@@ -27,10 +29,9 @@ import {
transformNotFilters,
moveItemListHelper,
getMoveData,
+ getSupportedParams,
} from '../boards_util';
import boardLabelsQuery from '../graphql/board_labels.query.graphql';
-import destroyBoardListMutation from '../graphql/board_list_destroy.mutation.graphql';
-import updateBoardListMutation from '../graphql/board_list_update.mutation.graphql';
import groupProjectsQuery from '../graphql/group_projects.query.graphql';
import issueCreateMutation from '../graphql/issue_create.mutation.graphql';
import issueSetDueDateMutation from '../graphql/issue_set_due_date.mutation.graphql';
@@ -39,11 +40,6 @@ import issueSetMilestoneMutation from '../graphql/issue_set_milestone.mutation.g
import listsIssuesQuery from '../graphql/lists_issues.query.graphql';
import * as types from './mutation_types';
-const notImplemented = () => {
- /* eslint-disable-next-line @gitlab/require-i18n-strings */
- throw new Error('Not implemented!');
-};
-
export const gqlClient = createGqClient(
{},
{
@@ -65,16 +61,11 @@ export default {
},
setFilters: ({ commit }, filters) => {
- const filterParams = pick(filters, [
- 'assigneeUsername',
- 'authorUsername',
- 'labelName',
- 'milestoneTitle',
- 'releaseTag',
- 'search',
- 'myReactionEmoji',
- ]);
- filterParams.not = transformNotFilters(filters);
+ const filterParams = {
+ ...getSupportedParams(filters, SupportedFilters),
+ not: transformNotFilters(filters),
+ };
+
commit(types.SET_FILTERS, filterParams);
},
@@ -90,24 +81,22 @@ export default {
}
},
- fetchLists: ({ dispatch }) => {
- dispatch('fetchIssueLists');
- },
-
- fetchIssueLists: ({ commit, state, dispatch }) => {
- const { boardType, filterParams, fullPath, boardId } = state;
+ fetchLists: ({ commit, state, dispatch }) => {
+ const { boardType, filterParams, fullPath, fullBoardId, issuableType } = state;
const variables = {
fullPath,
- boardId: fullBoardId(boardId),
+ boardId: fullBoardId,
filters: filterParams,
- isGroup: boardType === BoardType.group,
- isProject: boardType === BoardType.project,
+ ...(issuableType === issuableTypes.issue && {
+ isGroup: boardType === BoardType.group,
+ isProject: boardType === BoardType.project,
+ }),
};
return gqlClient
.query({
- query: boardListsQuery,
+ query: listsQuery[issuableType].query,
variables,
})
.then(({ data }) => {
@@ -141,7 +130,7 @@ export default {
{ state, commit, dispatch, getters },
{ backlog, labelId, milestoneId, assigneeId, iterationId },
) => {
- const { boardId } = state;
+ const { fullBoardId } = state;
const existingList = getters.getListByLabelId(labelId);
@@ -154,7 +143,7 @@ export default {
.mutate({
mutation: createBoardListMutation,
variables: {
- boardId: fullBoardId(boardId),
+ boardId: fullBoardId,
backlog,
labelId,
milestoneId,
@@ -242,10 +231,13 @@ export default {
dispatch('updateList', { listId, position: newPosition, backupList });
},
- updateList: ({ commit }, { listId, position, collapsed, backupList }) => {
+ updateList: (
+ { commit, state: { issuableType } },
+ { listId, position, collapsed, backupList },
+ ) => {
gqlClient
.mutate({
- mutation: updateBoardListMutation,
+ mutation: updateListQueries[issuableType].mutation,
variables: {
listId,
position,
@@ -266,14 +258,14 @@ export default {
commit(types.TOGGLE_LIST_COLLAPSED, { listId, collapsed });
},
- removeList: ({ state, commit }, listId) => {
- const listsBackup = { ...state.boardLists };
+ removeList: ({ state: { issuableType, boardLists }, commit }, listId) => {
+ const listsBackup = { ...boardLists };
commit(types.REMOVE_LIST, listId);
return gqlClient
.mutate({
- mutation: destroyBoardListMutation,
+ mutation: deleteListQueries[issuableType].mutation,
variables: {
listId,
},
@@ -297,11 +289,11 @@ export default {
fetchItemsForList: ({ state, commit }, { listId, fetchNext = false }) => {
commit(types.REQUEST_ITEMS_FOR_LIST, { listId, fetchNext });
- const { fullPath, boardId, boardType, filterParams } = state;
+ const { fullPath, fullBoardId, boardType, filterParams } = state;
const variables = {
fullPath,
- boardId: fullBoardId(boardId),
+ boardId: fullBoardId,
id: listId,
filters: filterParams,
isGroup: boardType === BoardType.group,
@@ -430,7 +422,7 @@ export default {
try {
const { itemId, fromListId, toListId, moveBeforeId, moveAfterId } = moveData;
const {
- boardId,
+ fullBoardId,
boardItems: {
[itemId]: { iid, referencePath },
},
@@ -441,7 +433,7 @@ export default {
variables: {
iid,
projectPath: referencePath.split(/[#]/)[0],
- boardId: fullBoardId(boardId),
+ boardId: fullBoardId,
fromListId: getIdFromGraphQLId(fromListId),
toListId: getIdFromGraphQLId(toListId),
moveBeforeId,
@@ -653,6 +645,15 @@ export default {
});
},
+ setActiveItemConfidential: ({ commit, getters }, confidential) => {
+ const { activeBoardItem } = getters;
+ commit(types.UPDATE_BOARD_ITEM_BY_ID, {
+ itemId: activeBoardItem.id,
+ prop: 'confidential',
+ value: confidential,
+ });
+ },
+
fetchGroupProjects: ({ commit, state }, { search = '', fetchNext = false }) => {
commit(types.REQUEST_GROUP_PROJECTS, fetchNext);
@@ -731,28 +732,4 @@ export default {
unsetError: ({ commit }) => {
commit(types.SET_ERROR, undefined);
},
-
- fetchBacklog: () => {
- notImplemented();
- },
-
- bulkUpdateIssues: () => {
- notImplemented();
- },
-
- fetchIssue: () => {
- notImplemented();
- },
-
- toggleIssueSubscription: () => {
- notImplemented();
- },
-
- showPage: () => {
- notImplemented();
- },
-
- toggleEmptyState: () => {
- notImplemented();
- },
};
diff --git a/app/assets/javascripts/boards/stores/getters.js b/app/assets/javascripts/boards/stores/getters.js
index 0589851c658..b61ecc5ccb6 100644
--- a/app/assets/javascripts/boards/stores/getters.js
+++ b/app/assets/javascripts/boards/stores/getters.js
@@ -21,7 +21,7 @@ export default {
groupPathForActiveIssue: (_, getters) => {
const { referencePath = '' } = getters.activeBoardItem;
- return referencePath.slice(0, referencePath.indexOf('/'));
+ return referencePath.slice(0, referencePath.lastIndexOf('/'));
},
projectPathForActiveIssue: (_, getters) => {
diff --git a/app/assets/javascripts/boards/stores/mutation_types.js b/app/assets/javascripts/boards/stores/mutation_types.js
index 22b9905ee62..ccea2917c2c 100644
--- a/app/assets/javascripts/boards/stores/mutation_types.js
+++ b/app/assets/javascripts/boards/stores/mutation_types.js
@@ -9,9 +9,7 @@ export const GENERATE_DEFAULT_LISTS_FAILURE = 'GENERATE_DEFAULT_LISTS_FAILURE';
export const RECEIVE_BOARD_LISTS_SUCCESS = 'RECEIVE_BOARD_LISTS_SUCCESS';
export const RECEIVE_BOARD_LISTS_FAILURE = 'RECEIVE_BOARD_LISTS_FAILURE';
export const SHOW_PROMOTION_LIST = 'SHOW_PROMOTION_LIST';
-export const REQUEST_ADD_LIST = 'REQUEST_ADD_LIST';
export const RECEIVE_ADD_LIST_SUCCESS = 'RECEIVE_ADD_LIST_SUCCESS';
-export const RECEIVE_ADD_LIST_ERROR = 'RECEIVE_ADD_LIST_ERROR';
export const MOVE_LIST = 'MOVE_LIST';
export const UPDATE_LIST_FAILURE = 'UPDATE_LIST_FAILURE';
export const TOGGLE_LIST_COLLAPSED = 'TOGGLE_LIST_COLLAPSED';
@@ -20,19 +18,11 @@ export const REMOVE_LIST_FAILURE = 'REMOVE_LIST_FAILURE';
export const REQUEST_ITEMS_FOR_LIST = 'REQUEST_ITEMS_FOR_LIST';
export const RECEIVE_ITEMS_FOR_LIST_FAILURE = 'RECEIVE_ITEMS_FOR_LIST_FAILURE';
export const RECEIVE_ITEMS_FOR_LIST_SUCCESS = 'RECEIVE_ITEMS_FOR_LIST_SUCCESS';
-export const REQUEST_ADD_ISSUE = 'REQUEST_ADD_ISSUE';
-export const RECEIVE_ADD_ISSUE_SUCCESS = 'RECEIVE_ADD_ISSUE_SUCCESS';
-export const RECEIVE_ADD_ISSUE_ERROR = 'RECEIVE_ADD_ISSUE_ERROR';
export const UPDATE_BOARD_ITEM = 'UPDATE_BOARD_ITEM';
export const REMOVE_BOARD_ITEM = 'REMOVE_BOARD_ITEM';
-export const REQUEST_UPDATE_ISSUE = 'REQUEST_UPDATE_ISSUE';
export const MUTATE_ISSUE_SUCCESS = 'MUTATE_ISSUE_SUCCESS';
-export const RECEIVE_UPDATE_ISSUE_SUCCESS = 'RECEIVE_UPDATE_ISSUE_SUCCESS';
-export const RECEIVE_UPDATE_ISSUE_ERROR = 'RECEIVE_UPDATE_ISSUE_ERROR';
export const ADD_BOARD_ITEM_TO_LIST = 'ADD_BOARD_ITEM_TO_LIST';
export const REMOVE_BOARD_ITEM_FROM_LIST = 'REMOVE_BOARD_ITEM_FROM_LIST';
-export const SET_CURRENT_PAGE = 'SET_CURRENT_PAGE';
-export const TOGGLE_EMPTY_STATE = 'TOGGLE_EMPTY_STATE';
export const SET_ACTIVE_ID = 'SET_ACTIVE_ID';
export const UPDATE_BOARD_ITEM_BY_ID = 'UPDATE_BOARD_ITEM_BY_ID';
export const SET_ASSIGNEE_LOADING = 'SET_ASSIGNEE_LOADING';
diff --git a/app/assets/javascripts/boards/stores/mutations.js b/app/assets/javascripts/boards/stores/mutations.js
index 561c21b78c1..667628b2998 100644
--- a/app/assets/javascripts/boards/stores/mutations.js
+++ b/app/assets/javascripts/boards/stores/mutations.js
@@ -6,11 +6,6 @@ import { formatIssue } from '../boards_util';
import { issuableTypes } from '../constants';
import * as mutationTypes from './mutation_types';
-const notImplemented = () => {
- /* eslint-disable-next-line @gitlab/require-i18n-strings */
- throw new Error('Not implemented!');
-};
-
const updateListItemsCount = ({ state, listId, value }) => {
const list = state.boardLists[listId];
if (state.issuableType === issuableTypes.epic) {
@@ -40,8 +35,9 @@ export const addItemToList = ({ state, listId, itemId, moveBeforeId, moveAfterId
export default {
[mutationTypes.SET_INITIAL_BOARD_DATA](state, data) {
- const { boardType, disabled, boardId, fullPath, boardConfig, issuableType } = data;
+ const { boardType, disabled, boardId, fullBoardId, fullPath, boardConfig, issuableType } = data;
state.boardId = boardId;
+ state.fullBoardId = fullBoardId;
state.fullPath = fullPath;
state.boardType = boardType;
state.disabled = disabled;
@@ -93,18 +89,10 @@ export default {
state.error = s__('Boards|An error occurred while generating lists. Please reload the page.');
},
- [mutationTypes.REQUEST_ADD_LIST]: () => {
- notImplemented();
- },
-
[mutationTypes.RECEIVE_ADD_LIST_SUCCESS]: (state, list) => {
Vue.set(state.boardLists, list.id, list);
},
- [mutationTypes.RECEIVE_ADD_LIST_ERROR]: () => {
- notImplemented();
- },
-
[mutationTypes.MOVE_LIST]: (state, { movedList, listAtNewIndex }) => {
const { boardLists } = state;
Vue.set(boardLists, movedList.id, movedList);
@@ -171,35 +159,11 @@ export default {
state.isSettingAssignees = isLoading;
},
- [mutationTypes.REQUEST_ADD_ISSUE]: () => {
- notImplemented();
- },
-
- [mutationTypes.RECEIVE_ADD_ISSUE_SUCCESS]: () => {
- notImplemented();
- },
-
- [mutationTypes.RECEIVE_ADD_ISSUE_ERROR]: () => {
- notImplemented();
- },
-
[mutationTypes.MUTATE_ISSUE_SUCCESS]: (state, { issue }) => {
const issueId = getIdFromGraphQLId(issue.id);
Vue.set(state.boardItems, issueId, formatIssue({ ...issue, id: issueId }));
},
- [mutationTypes.REQUEST_UPDATE_ISSUE]: () => {
- notImplemented();
- },
-
- [mutationTypes.RECEIVE_UPDATE_ISSUE_SUCCESS]: () => {
- notImplemented();
- },
-
- [mutationTypes.RECEIVE_UPDATE_ISSUE_ERROR]: () => {
- notImplemented();
- },
-
[mutationTypes.ADD_BOARD_ITEM_TO_LIST]: (
state,
{ itemId, listId, moveBeforeId, moveAfterId, atIndex },
@@ -219,14 +183,6 @@ export default {
Vue.delete(state.boardItems, itemId);
},
- [mutationTypes.SET_CURRENT_PAGE]: () => {
- notImplemented();
- },
-
- [mutationTypes.TOGGLE_EMPTY_STATE]: () => {
- notImplemented();
- },
-
[mutationTypes.REQUEST_GROUP_PROJECTS]: (state, fetchNext) => {
Vue.set(state, 'groupProjectsFlags', {
[fetchNext ? 'isLoadingMore' : 'isLoading']: true,