Add latest changes from gitlab-org/gitlab@master
|
|
@ -43,7 +43,7 @@ export default {
|
|||
GlTooltip: GlTooltipDirective,
|
||||
},
|
||||
mixins: [boardCardInner],
|
||||
inject: ['rootPath', 'scopedLabelsAvailable', 'isEpicBoard'],
|
||||
inject: ['rootPath', 'scopedLabelsAvailable', 'isEpicBoard', 'issuableType'],
|
||||
props: {
|
||||
item: {
|
||||
type: Object,
|
||||
|
|
@ -77,7 +77,7 @@ export default {
|
|||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState(['isShowingLabels', 'issuableType', 'allowSubEpics']),
|
||||
...mapState(['isShowingLabels', 'allowSubEpics']),
|
||||
...mapGetters(['isProjectBoard']),
|
||||
cappedAssignees() {
|
||||
// e.g. maxRender is 4,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdow
|
|||
import { __, sprintf } from '~/locale';
|
||||
import BoardSidebarTimeTracker from '~/boards/components/sidebar/board_sidebar_time_tracker.vue';
|
||||
import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue';
|
||||
import { ISSUABLE, INCIDENT } from '~/boards/constants';
|
||||
import { ISSUABLE, INCIDENT, issuableTypes } from '~/boards/constants';
|
||||
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
|
||||
import SidebarAssigneesWidget from '~/sidebar/components/assignees/sidebar_assignees_widget.vue';
|
||||
import SidebarConfidentialityWidget from '~/sidebar/components/confidential/sidebar_confidentiality_widget.vue';
|
||||
|
|
@ -65,6 +65,9 @@ export default {
|
|||
canUpdate: {
|
||||
default: false,
|
||||
},
|
||||
issuableType: {
|
||||
default: issuableTypes.issue,
|
||||
},
|
||||
},
|
||||
inheritAttrs: false,
|
||||
computed: {
|
||||
|
|
@ -75,7 +78,7 @@ export default {
|
|||
'groupPathForActiveIssue',
|
||||
'projectPathForActiveIssue',
|
||||
]),
|
||||
...mapState(['sidebarType', 'issuableType']),
|
||||
...mapState(['sidebarType']),
|
||||
isIssuableSidebar() {
|
||||
return this.sidebarType === ISSUABLE;
|
||||
},
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export default {
|
|||
ProjectSelect,
|
||||
},
|
||||
mixins: [BoardNewIssueMixin],
|
||||
inject: ['groupId'],
|
||||
inject: ['groupId', 'fullPath'],
|
||||
props: {
|
||||
list: {
|
||||
type: Object,
|
||||
|
|
@ -24,7 +24,7 @@ export default {
|
|||
},
|
||||
},
|
||||
computed: {
|
||||
...mapState(['selectedProject', 'fullPath']),
|
||||
...mapState(['selectedProject']),
|
||||
...mapGetters(['isGroupBoard', 'getBoardItemsByList']),
|
||||
formEventPrefix() {
|
||||
return toggleFormEventPrefix.issue;
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ export default {
|
|||
'hasMissingBoards',
|
||||
'scopedIssueBoardFeatureEnabled',
|
||||
'weights',
|
||||
'boardType',
|
||||
],
|
||||
props: {
|
||||
throttleDuration: {
|
||||
|
|
@ -74,7 +75,7 @@ export default {
|
|||
},
|
||||
|
||||
computed: {
|
||||
...mapState(['boardType', 'board', 'isBoardLoading']),
|
||||
...mapState(['board', 'isBoardLoading']),
|
||||
...mapGetters(['isGroupBoard', 'isProjectBoard']),
|
||||
parentType() {
|
||||
return this.boardType;
|
||||
|
|
|
|||
|
|
@ -146,13 +146,12 @@
|
|||
}
|
||||
|
||||
@mixin top-level-item {
|
||||
@include gl-h-7;
|
||||
@include gl-px-4;
|
||||
@include gl-py-3;
|
||||
@include gl-display-flex;
|
||||
@include gl-align-items-center;
|
||||
@include gl-rounded-base;
|
||||
@include gl-w-auto;
|
||||
@include gl-line-height-normal;
|
||||
transition: none;
|
||||
margin: $sidebar-top-item-tb-margin $sidebar-top-item-lr-margin;
|
||||
|
||||
|
|
|
|||
|
|
@ -1136,15 +1136,13 @@ kbd {
|
|||
}
|
||||
.nav-sidebar li > a,
|
||||
.nav-sidebar li > .fly-out-top-item-container {
|
||||
height: 2rem;
|
||||
padding-left: 0.75rem;
|
||||
padding-right: 0.75rem;
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 0.25rem;
|
||||
width: auto;
|
||||
line-height: 1rem;
|
||||
margin: 1px 8px;
|
||||
}
|
||||
.nav-sidebar li.active > a {
|
||||
|
|
@ -1373,15 +1371,13 @@ kbd {
|
|||
margin-top: 0.25rem;
|
||||
}
|
||||
.nav-sidebar-inner-scroll > div.context-header a {
|
||||
height: 2rem;
|
||||
padding-left: 0.75rem;
|
||||
padding-right: 0.75rem;
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 0.25rem;
|
||||
width: auto;
|
||||
line-height: 1rem;
|
||||
margin: 1px 8px;
|
||||
padding: 0.25rem;
|
||||
margin-bottom: 0.25rem;
|
||||
|
|
|
|||
|
|
@ -1136,15 +1136,13 @@ kbd {
|
|||
}
|
||||
.nav-sidebar li > a,
|
||||
.nav-sidebar li > .fly-out-top-item-container {
|
||||
height: 2rem;
|
||||
padding-left: 0.75rem;
|
||||
padding-right: 0.75rem;
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 0.25rem;
|
||||
width: auto;
|
||||
line-height: 1rem;
|
||||
margin: 1px 8px;
|
||||
}
|
||||
.nav-sidebar li.active > a {
|
||||
|
|
@ -1373,15 +1371,13 @@ kbd {
|
|||
margin-top: 0.25rem;
|
||||
}
|
||||
.nav-sidebar-inner-scroll > div.context-header a {
|
||||
height: 2rem;
|
||||
padding-left: 0.75rem;
|
||||
padding-right: 0.75rem;
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 0.25rem;
|
||||
width: auto;
|
||||
line-height: 1rem;
|
||||
margin: 1px 8px;
|
||||
padding: 0.25rem;
|
||||
margin-bottom: 0.25rem;
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 251 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 20 KiB |
|
|
@ -894,3 +894,7 @@ to reconfigure, using the new and improved job definition default values.
|
|||
include:
|
||||
- template: Security/SAST.gitlab-ci.yml
|
||||
```
|
||||
|
||||
### MobSF job fails with error message `Reading from Info.plist`
|
||||
|
||||
This error happens when `Info.plist` file is missing a `CFBundleIdentifier` key and string value.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 70 KiB |
|
|
@ -60,7 +60,6 @@ describe('Board card component', () => {
|
|||
},
|
||||
state: {
|
||||
...defaultStore.state,
|
||||
issuableType: issuableTypes.issue,
|
||||
isShowingLabels: true,
|
||||
},
|
||||
getters: {
|
||||
|
|
@ -97,6 +96,7 @@ describe('Board card component', () => {
|
|||
rootPath: '/',
|
||||
scopedLabelsAvailable: false,
|
||||
isEpicBoard,
|
||||
issuableType: issuableTypes.issue,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ export default function createComponent({
|
|||
provide: {
|
||||
groupId: null,
|
||||
rootPath: '/',
|
||||
fullPath: 'gitlab-org',
|
||||
boardId: '1',
|
||||
weightFeatureAvailable: false,
|
||||
boardWeight: null,
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ describe('Board card', () => {
|
|||
rootPath: '/',
|
||||
scopedLabelsAvailable: false,
|
||||
isEpicBoard: false,
|
||||
issuableType: 'issue',
|
||||
...provide,
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdow
|
|||
import { stubComponent } from 'helpers/stub_component';
|
||||
import BoardContentSidebar from '~/boards/components/board_content_sidebar.vue';
|
||||
import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue';
|
||||
import { ISSUABLE } from '~/boards/constants';
|
||||
import { ISSUABLE, issuableTypes } from '~/boards/constants';
|
||||
import SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue';
|
||||
import SidebarSeverity from '~/sidebar/components/severity/sidebar_severity.vue';
|
||||
import SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue';
|
||||
|
|
@ -26,7 +26,6 @@ describe('BoardContentSidebar', () => {
|
|||
sidebarType: ISSUABLE,
|
||||
issues: { [mockIssue.id]: { ...mockIssue, epic: null } },
|
||||
activeId: mockIssue.id,
|
||||
issuableType: 'issue',
|
||||
},
|
||||
getters: {
|
||||
activeBoardItem: () => {
|
||||
|
|
@ -55,6 +54,7 @@ describe('BoardContentSidebar', () => {
|
|||
canUpdate: true,
|
||||
rootPath: '/',
|
||||
groupId: 1,
|
||||
issuableType: issuableTypes.issue,
|
||||
},
|
||||
store,
|
||||
stubs: {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ const addListNewIssuesSpy = jest.fn().mockResolvedValue();
|
|||
const mockActions = { addListNewIssue: addListNewIssuesSpy };
|
||||
|
||||
const createComponent = ({
|
||||
state = { selectedProject: mockGroupProjects[0], fullPath: mockGroupProjects[0].fullPath },
|
||||
state = { selectedProject: mockGroupProjects[0] },
|
||||
actions = mockActions,
|
||||
getters = { isGroupBoard: () => true, getBoardItemsByList: () => () => [] },
|
||||
} = {}) =>
|
||||
|
|
@ -29,6 +29,7 @@ const createComponent = ({
|
|||
},
|
||||
provide: {
|
||||
groupId: 1,
|
||||
fullPath: mockGroupProjects[0].fullPath,
|
||||
weightFeatureAvailable: false,
|
||||
boardWeight: null,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ describe('BoardsSelector', () => {
|
|||
isProjectBoard: () => isProjectBoard,
|
||||
},
|
||||
state: {
|
||||
boardType: isGroupBoard ? 'group' : 'project',
|
||||
board: mockBoard,
|
||||
},
|
||||
});
|
||||
|
|
@ -86,6 +85,7 @@ describe('BoardsSelector', () => {
|
|||
const createComponent = ({
|
||||
projectBoardsQueryHandler = projectBoardsQueryHandlerSuccess,
|
||||
projectRecentBoardsQueryHandler = projectRecentBoardsQueryHandlerSuccess,
|
||||
isGroupBoard = false,
|
||||
} = {}) => {
|
||||
fakeApollo = createMockApollo([
|
||||
[projectBoardsQuery, projectBoardsQueryHandler],
|
||||
|
|
@ -109,6 +109,7 @@ describe('BoardsSelector', () => {
|
|||
multipleIssueBoardsAvailable: true,
|
||||
scopedIssueBoardFeatureEnabled: true,
|
||||
weights: [],
|
||||
boardType: isGroupBoard ? 'group' : 'project',
|
||||
},
|
||||
});
|
||||
};
|
||||
|
|
@ -233,7 +234,7 @@ describe('BoardsSelector', () => {
|
|||
isProjectBoard: boardType === BoardType.project,
|
||||
isGroupBoard: boardType === BoardType.group,
|
||||
});
|
||||
createComponent();
|
||||
createComponent({ isGroupBoard: boardType === BoardType.group });
|
||||
|
||||
await nextTick();
|
||||
|
||||
|
|
|
|||