Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
084f9e9a
Commit
084f9e9a
authored
Dec 08, 2020
by
Donald Cook
Committed by
Simon Knox
Dec 08, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed boards promotion
Fixed tests and translations Added changelog entry
parent
8ba36cd0
Changes
28
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
19 additions
and
275 deletions
+19
-275
app/assets/javascripts/boards/components/board_column.vue
app/assets/javascripts/boards/components/board_column.vue
+1
-16
app/assets/javascripts/boards/components/board_column_new.vue
...assets/javascripts/boards/components/board_column_new.vue
+0
-9
app/assets/javascripts/boards/components/board_content.vue
app/assets/javascripts/boards/components/board_content.vue
+2
-7
app/assets/javascripts/boards/components/board_list_header.vue
...ssets/javascripts/boards/components/board_list_header.vue
+2
-5
app/assets/javascripts/boards/components/board_list_header_new.vue
...s/javascripts/boards/components/board_list_header_new.vue
+2
-5
app/assets/javascripts/boards/components/board_promotion_state.js
...ts/javascripts/boards/components/board_promotion_state.js
+0
-1
app/assets/javascripts/boards/constants.js
app/assets/javascripts/boards/constants.js
+0
-1
app/assets/javascripts/boards/ee_functions.js
app/assets/javascripts/boards/ee_functions.js
+0
-2
app/assets/javascripts/boards/index.js
app/assets/javascripts/boards/index.js
+0
-3
app/assets/javascripts/boards/stores/actions.js
app/assets/javascripts/boards/stores/actions.js
+0
-2
app/assets/stylesheets/page_bundles/boards.scss
app/assets/stylesheets/page_bundles/boards.scss
+0
-7
app/views/shared/boards/_show.html.haml
app/views/shared/boards/_show.html.haml
+0
-1
changelogs/unreleased/260439-remove-boards-upsell-list.yml
changelogs/unreleased/260439-remove-boards-upsell-list.yml
+5
-0
ee/app/assets/javascripts/boards/components/board_column.vue
ee/app/assets/javascripts/boards/components/board_column.vue
+0
-11
ee/app/assets/javascripts/boards/components/board_promotion_state.js
...ts/javascripts/boards/components/board_promotion_state.js
+0
-8
ee/app/assets/javascripts/boards/ee_functions.js
ee/app/assets/javascripts/boards/ee_functions.js
+0
-4
ee/app/assets/javascripts/boards/models/list.js
ee/app/assets/javascripts/boards/models/list.js
+0
-12
ee/app/assets/javascripts/boards/stores/actions.js
ee/app/assets/javascripts/boards/stores/actions.js
+2
-24
ee/app/assets/javascripts/boards/stores/boards_store_ee.js
ee/app/assets/javascripts/boards/stores/boards_store_ee.js
+0
-40
ee/app/views/shared/promotions/_promote_issue_board.html.haml
...pp/views/shared/promotions/_promote_issue_board.html.haml
+0
-21
ee/spec/features/promotion_spec.rb
ee/spec/features/promotion_spec.rb
+0
-28
ee/spec/frontend/boards/components/board_list_header_new_spec.js
.../frontend/boards/components/board_list_header_new_spec.js
+1
-5
ee/spec/frontend/boards/components/board_list_header_spec.js
ee/spec/frontend/boards/components/board_list_header_spec.js
+1
-5
ee/spec/frontend/boards/stores/actions_spec.js
ee/spec/frontend/boards/stores/actions_spec.js
+0
-33
locale/gitlab.pot
locale/gitlab.pot
+0
-21
spec/frontend/boards/components/board_content_spec.js
spec/frontend/boards/components/board_content_spec.js
+1
-2
spec/frontend/boards/components/board_list_header_new_spec.js
.../frontend/boards/components/board_list_header_new_spec.js
+1
-1
spec/frontend/boards/components/board_list_header_spec.js
spec/frontend/boards/components/board_list_header_spec.js
+1
-1
No files found.
app/assets/javascripts/boards/components/board_column.vue
View file @
084f9e9a
...
@@ -2,15 +2,12 @@
...
@@ -2,15 +2,12 @@
// This component is being replaced in favor of './board_column_new.vue' for GraphQL boards
// This component is being replaced in favor of './board_column_new.vue' for GraphQL boards
import
Sortable
from
'
sortablejs
'
;
import
Sortable
from
'
sortablejs
'
;
import
BoardListHeader
from
'
ee_else_ce/boards/components/board_list_header.vue
'
;
import
BoardListHeader
from
'
ee_else_ce/boards/components/board_list_header.vue
'
;
import
EmptyComponent
from
'
~/vue_shared/components/empty_component
'
;
import
BoardList
from
'
./board_list.vue
'
;
import
BoardList
from
'
./board_list.vue
'
;
import
boardsStore
from
'
../stores/boards_store
'
;
import
boardsStore
from
'
../stores/boards_store
'
;
import
{
getBoardSortableDefaultOptions
,
sortableEnd
}
from
'
../mixins/sortable_default_options
'
;
import
{
getBoardSortableDefaultOptions
,
sortableEnd
}
from
'
../mixins/sortable_default_options
'
;
import
{
ListType
}
from
'
../constants
'
;
export
default
{
export
default
{
components
:
{
components
:
{
BoardPromotionState
:
EmptyComponent
,
BoardListHeader
,
BoardListHeader
,
BoardList
,
BoardList
,
},
},
...
@@ -42,9 +39,6 @@ export default {
...
@@ -42,9 +39,6 @@ export default {
};
};
},
},
computed
:
{
computed
:
{
showBoardListAndBoardInfo
()
{
return
this
.
list
.
type
!==
ListType
.
promotion
;
},
listIssues
()
{
listIssues
()
{
return
this
.
list
.
issues
;
return
this
.
list
.
issues
;
},
},
...
@@ -105,16 +99,7 @@ export default {
...
@@ -105,16 +99,7 @@ export default {
class=
"board-inner gl-display-flex gl-flex-direction-column gl-relative gl-h-full gl-rounded-base"
class=
"board-inner gl-display-flex gl-flex-direction-column gl-relative gl-h-full gl-rounded-base"
>
>
<board-list-header
:can-admin-list=
"canAdminList"
:list=
"list"
:disabled=
"disabled"
/>
<board-list-header
:can-admin-list=
"canAdminList"
:list=
"list"
:disabled=
"disabled"
/>
<board-list
<board-list
ref=
"board-list"
:disabled=
"disabled"
:issues=
"listIssues"
:list=
"list"
/>
v-if=
"showBoardListAndBoardInfo"
ref=
"board-list"
:disabled=
"disabled"
:issues=
"listIssues"
:list=
"list"
/>
<!-- Will be only available in EE -->
<board-promotion-state
v-if=
"list.id === 'promotion'"
/>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
app/assets/javascripts/boards/components/board_column_new.vue
View file @
084f9e9a
<
script
>
<
script
>
import
{
mapGetters
,
mapActions
,
mapState
}
from
'
vuex
'
;
import
{
mapGetters
,
mapActions
,
mapState
}
from
'
vuex
'
;
import
BoardListHeader
from
'
ee_else_ce/boards/components/board_list_header_new.vue
'
;
import
BoardListHeader
from
'
ee_else_ce/boards/components/board_list_header_new.vue
'
;
import
BoardPromotionState
from
'
ee_else_ce/boards/components/board_promotion_state
'
;
import
BoardList
from
'
./board_list_new.vue
'
;
import
BoardList
from
'
./board_list_new.vue
'
;
import
{
ListType
}
from
'
../constants
'
;
import
{
ListType
}
from
'
../constants
'
;
export
default
{
export
default
{
components
:
{
components
:
{
BoardPromotionState
,
BoardListHeader
,
BoardListHeader
,
BoardList
,
BoardList
,
},
},
...
@@ -35,9 +33,6 @@ export default {
...
@@ -35,9 +33,6 @@ export default {
computed
:
{
computed
:
{
...
mapState
([
'
filterParams
'
]),
...
mapState
([
'
filterParams
'
]),
...
mapGetters
([
'
getIssuesByList
'
]),
...
mapGetters
([
'
getIssuesByList
'
]),
showBoardListAndBoardInfo
()
{
return
this
.
list
.
type
!==
ListType
.
promotion
;
},
listIssues
()
{
listIssues
()
{
return
this
.
getIssuesByList
(
this
.
list
.
id
);
return
this
.
getIssuesByList
(
this
.
list
.
id
);
},
},
...
@@ -80,16 +75,12 @@ export default {
...
@@ -80,16 +75,12 @@ export default {
>
>
<board-list-header
:can-admin-list=
"canAdminList"
:list=
"list"
:disabled=
"disabled"
/>
<board-list-header
:can-admin-list=
"canAdminList"
:list=
"list"
:disabled=
"disabled"
/>
<board-list
<board-list
v-if=
"showBoardListAndBoardInfo"
ref=
"board-list"
ref=
"board-list"
:disabled=
"disabled"
:disabled=
"disabled"
:issues=
"listIssues"
:issues=
"listIssues"
:list=
"list"
:list=
"list"
:can-admin-list=
"canAdminList"
:can-admin-list=
"canAdminList"
/>
/>
<!-- Will be only available in EE -->
<board-promotion-state
v-if=
"list.id === 'promotion'"
/>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
app/assets/javascripts/boards/components/board_content.vue
View file @
084f9e9a
...
@@ -3,7 +3,7 @@ import Draggable from 'vuedraggable';
...
@@ -3,7 +3,7 @@ import Draggable from 'vuedraggable';
import
{
mapState
,
mapGetters
,
mapActions
}
from
'
vuex
'
;
import
{
mapState
,
mapGetters
,
mapActions
}
from
'
vuex
'
;
import
{
sortBy
}
from
'
lodash
'
;
import
{
sortBy
}
from
'
lodash
'
;
import
{
GlAlert
}
from
'
@gitlab/ui
'
;
import
{
GlAlert
}
from
'
@gitlab/ui
'
;
import
BoardColumn
from
'
ee_else_ce/boards/components
/board_column.vue
'
;
import
BoardColumn
from
'
.
/board_column.vue
'
;
import
BoardColumnNew
from
'
./board_column_new.vue
'
;
import
BoardColumnNew
from
'
./board_column_new.vue
'
;
import
glFeatureFlagMixin
from
'
~/vue_shared/mixins/gl_feature_flags_mixin
'
;
import
glFeatureFlagMixin
from
'
~/vue_shared/mixins/gl_feature_flags_mixin
'
;
import
defaultSortableConfig
from
'
~/sortable/sortable_config
'
;
import
defaultSortableConfig
from
'
~/sortable/sortable_config
'
;
...
@@ -59,13 +59,8 @@ export default {
...
@@ -59,13 +59,8 @@ export default {
return
this
.
canDragColumns
?
options
:
{};
return
this
.
canDragColumns
?
options
:
{};
},
},
},
},
mounted
()
{
if
(
this
.
glFeatures
.
graphqlBoardLists
)
{
this
.
showPromotionList
();
}
},
methods
:
{
methods
:
{
...
mapActions
([
'
moveList
'
,
'
showPromotionList
'
]),
...
mapActions
([
'
moveList
'
]),
handleDragOnStart
()
{
handleDragOnStart
()
{
sortableStart
();
sortableStart
();
},
},
...
...
app/assets/javascripts/boards/components/board_list_header.vue
View file @
084f9e9a
...
@@ -73,10 +73,7 @@ export default {
...
@@ -73,10 +73,7 @@ export default {
},
},
showListHeaderButton
()
{
showListHeaderButton
()
{
return
(
return
(
!
this
.
disabled
&&
!
this
.
disabled
&&
this
.
listType
!==
ListType
.
closed
&&
this
.
listType
!==
ListType
.
blank
this
.
listType
!==
ListType
.
closed
&&
this
.
listType
!==
ListType
.
blank
&&
this
.
listType
!==
ListType
.
promotion
);
);
},
},
showMilestoneListDetails
()
{
showMilestoneListDetails
()
{
...
@@ -110,7 +107,7 @@ export default {
...
@@ -110,7 +107,7 @@ export default {
);
);
},
},
showBoardListAndBoardInfo
()
{
showBoardListAndBoardInfo
()
{
return
this
.
listType
!==
ListType
.
blank
&&
this
.
listType
!==
ListType
.
promotion
;
return
this
.
listType
!==
ListType
.
blank
;
},
},
uniqueKey
()
{
uniqueKey
()
{
// eslint-disable-next-line @gitlab/require-i18n-strings
// eslint-disable-next-line @gitlab/require-i18n-strings
...
...
app/assets/javascripts/boards/components/board_list_header_new.vue
View file @
084f9e9a
...
@@ -76,10 +76,7 @@ export default {
...
@@ -76,10 +76,7 @@ export default {
},
},
showListHeaderButton
()
{
showListHeaderButton
()
{
return
(
return
(
!
this
.
disabled
&&
!
this
.
disabled
&&
this
.
listType
!==
ListType
.
closed
&&
this
.
listType
!==
ListType
.
blank
this
.
listType
!==
ListType
.
closed
&&
this
.
listType
!==
ListType
.
blank
&&
this
.
listType
!==
ListType
.
promotion
);
);
},
},
showMilestoneListDetails
()
{
showMilestoneListDetails
()
{
...
@@ -115,7 +112,7 @@ export default {
...
@@ -115,7 +112,7 @@ export default {
);
);
},
},
showBoardListAndBoardInfo
()
{
showBoardListAndBoardInfo
()
{
return
this
.
listType
!==
ListType
.
blank
&&
this
.
listType
!==
ListType
.
promotion
;
return
this
.
listType
!==
ListType
.
blank
;
},
},
uniqueKey
()
{
uniqueKey
()
{
// eslint-disable-next-line @gitlab/require-i18n-strings
// eslint-disable-next-line @gitlab/require-i18n-strings
...
...
app/assets/javascripts/boards/components/board_promotion_state.js
deleted
100644 → 0
View file @
8ba36cd0
export
default
{};
app/assets/javascripts/boards/constants.js
View file @
084f9e9a
...
@@ -9,7 +9,6 @@ export const ListType = {
...
@@ -9,7 +9,6 @@ export const ListType = {
backlog
:
'
backlog
'
,
backlog
:
'
backlog
'
,
closed
:
'
closed
'
,
closed
:
'
closed
'
,
label
:
'
label
'
,
label
:
'
label
'
,
promotion
:
'
promotion
'
,
blank
:
'
blank
'
,
blank
:
'
blank
'
,
};
};
...
...
app/assets/javascripts/boards/ee_functions.js
View file @
084f9e9a
export
const
setPromotionState
=
()
=>
{};
export
const
setWeightFetchingState
=
()
=>
{};
export
const
setWeightFetchingState
=
()
=>
{};
export
const
setEpicFetchingState
=
()
=>
{};
export
const
setEpicFetchingState
=
()
=>
{};
...
...
app/assets/javascripts/boards/index.js
View file @
084f9e9a
...
@@ -9,7 +9,6 @@ import boardConfigToggle from 'ee_else_ce/boards/config_toggle';
...
@@ -9,7 +9,6 @@ import boardConfigToggle from 'ee_else_ce/boards/config_toggle';
import
toggleLabels
from
'
ee_else_ce/boards/toggle_labels
'
;
import
toggleLabels
from
'
ee_else_ce/boards/toggle_labels
'
;
import
toggleEpicsSwimlanes
from
'
ee_else_ce/boards/toggle_epics_swimlanes
'
;
import
toggleEpicsSwimlanes
from
'
ee_else_ce/boards/toggle_epics_swimlanes
'
;
import
{
import
{
setPromotionState
,
setWeightFetchingState
,
setWeightFetchingState
,
setEpicFetchingState
,
setEpicFetchingState
,
getMilestoneTitle
,
getMilestoneTitle
,
...
@@ -131,7 +130,6 @@ export default () => {
...
@@ -131,7 +130,6 @@ export default () => {
...
endpoints
,
...
endpoints
,
boardType
:
this
.
parent
,
boardType
:
this
.
parent
,
disabled
:
this
.
disabled
,
disabled
:
this
.
disabled
,
showPromotion
:
parseBoolean
(
$boardApp
.
getAttribute
(
'
data-show-promotion
'
)),
});
});
boardsStore
.
setEndpoints
(
endpoints
);
boardsStore
.
setEndpoints
(
endpoints
);
boardsStore
.
rootPath
=
this
.
boardsEndpoint
;
boardsStore
.
rootPath
=
this
.
boardsEndpoint
;
...
@@ -184,7 +182,6 @@ export default () => {
...
@@ -184,7 +182,6 @@ export default () => {
.
then
(
lists
=>
{
.
then
(
lists
=>
{
lists
.
forEach
(
list
=>
boardsStore
.
addList
(
list
));
lists
.
forEach
(
list
=>
boardsStore
.
addList
(
list
));
boardsStore
.
addBlankState
();
boardsStore
.
addBlankState
();
setPromotionState
(
boardsStore
);
this
.
loading
=
false
;
this
.
loading
=
false
;
})
})
.
catch
(()
=>
{
.
catch
(()
=>
{
...
...
app/assets/javascripts/boards/stores/actions.js
View file @
084f9e9a
...
@@ -126,8 +126,6 @@ export default {
...
@@ -126,8 +126,6 @@ export default {
);
);
},
},
showPromotionList
:
()
=>
{},
fetchLabels
:
({
state
,
commit
},
searchTerm
)
=>
{
fetchLabels
:
({
state
,
commit
},
searchTerm
)
=>
{
const
{
endpoints
,
boardType
}
=
state
;
const
{
endpoints
,
boardType
}
=
state
;
const
{
fullPath
}
=
endpoints
;
const
{
fullPath
}
=
endpoints
;
...
...
app/assets/stylesheets/page_bundles/boards.scss
View file @
084f9e9a
...
@@ -172,13 +172,6 @@
...
@@ -172,13 +172,6 @@
}
}
}
}
.board-promotion-state
{
background-color
:
var
(
--
white
,
$white
);
flex
:
1
;
overflow-y
:
auto
;
overflow-x
:
hidden
;
}
.board-list-component
{
.board-list-component
{
min-height
:
0
;
// firefox fix
min-height
:
0
;
// firefox fix
}
}
...
...
app/views/shared/boards/_show.html.haml
View file @
084f9e9a
...
@@ -13,7 +13,6 @@
...
@@ -13,7 +13,6 @@
-
content_for
:page_specific_javascripts
do
-
content_for
:page_specific_javascripts
do
%script
#js-board-modal-filter
{
type:
"text/x-template"
}=
render
"shared/issuable/search_bar"
,
type: :boards_modal
,
show_sorting_dropdown:
false
%script
#js-board-modal-filter
{
type:
"text/x-template"
}=
render
"shared/issuable/search_bar"
,
type: :boards_modal
,
show_sorting_dropdown:
false
%script
#js-board-promotion
{
type:
"text/x-template"
}=
render_if_exists
"shared/promotions/promote_issue_board"
=
render
'shared/issuable/search_bar'
,
type: :boards
,
board:
board
=
render
'shared/issuable/search_bar'
,
type: :boards
,
board:
board
#board-app
.boards-app.position-relative
{
"v-cloak"
=>
"true"
,
data:
board_data
,
":class"
=>
"{ 'is-compact': detailIssueVisible }"
}
#board-app
.boards-app.position-relative
{
"v-cloak"
=>
"true"
,
data:
board_data
,
":class"
=>
"{ 'is-compact': detailIssueVisible }"
}
...
...
changelogs/unreleased/260439-remove-boards-upsell-list.yml
0 → 100644
View file @
084f9e9a
---
title
:
Removed boards promotion
merge_request
:
47972
author
:
type
:
changed
ee/app/assets/javascripts/boards/components/board_column.vue
deleted
100644 → 0
View file @
8ba36cd0
<
script
>
import
BoardPromotionState
from
'
ee/boards/components/board_promotion_state
'
;
import
BoardColumnFoss
from
'
~/boards/components/board_column.vue
'
;
export
default
{
components
:
{
BoardPromotionState
,
},
extends
:
BoardColumnFoss
,
};
</
script
>
ee/app/assets/javascripts/boards/components/board_promotion_state.js
deleted
100644 → 0
View file @
8ba36cd0
import
boardsStore
from
'
~/boards/stores/boards_store
'
;
export
default
{
template
:
'
#js-board-promotion
'
,
methods
:
{
clearPromotionState
:
boardsStore
.
removePromotionState
.
bind
(
boardsStore
),
},
};
ee/app/assets/javascripts/boards/ee_functions.js
View file @
084f9e9a
export
const
setPromotionState
=
store
=>
{
store
.
addPromotionState
();
};
export
const
setWeightFetchingState
=
(
issue
,
value
)
=>
{
export
const
setWeightFetchingState
=
(
issue
,
value
)
=>
{
issue
.
setFetchingState
(
'
weight
'
,
value
);
issue
.
setFetchingState
(
'
weight
'
,
value
);
};
};
...
...
ee/app/assets/javascripts/boards/models/list.js
View file @
084f9e9a
...
@@ -3,24 +3,12 @@ import List from '~/boards/models/list';
...
@@ -3,24 +3,12 @@ import List from '~/boards/models/list';
import
ListAssignee
from
'
~/boards/models/assignee
'
;
import
ListAssignee
from
'
~/boards/models/assignee
'
;
import
ListMilestone
from
'
~/boards/models/milestone
'
;
import
ListMilestone
from
'
~/boards/models/milestone
'
;
const
EE_TYPES
=
{
promotion
:
{
isPreset
:
true
,
isExpandable
:
false
,
isBlank
:
true
,
},
};
class
ListEE
extends
List
{
class
ListEE
extends
List
{
constructor
(...
args
)
{
constructor
(...
args
)
{
super
(...
args
);
super
(...
args
);
this
.
totalWeight
=
args
[
0
]?.
totalWeight
||
0
;
this
.
totalWeight
=
args
[
0
]?.
totalWeight
||
0
;
}
}
getTypeInfo
(
type
)
{
return
EE_TYPES
[
type
]
||
super
.
getTypeInfo
(
type
);
}
getIssues
(...
args
)
{
getIssues
(...
args
)
{
return
super
.
getIssues
(...
args
).
then
(
data
=>
{
return
super
.
getIssues
(...
args
).
then
(
data
=>
{
this
.
totalWeight
=
data
.
total_weight
;
this
.
totalWeight
=
data
.
total_weight
;
...
...
ee/app/assets/javascripts/boards/stores/actions.js
View file @
084f9e9a
import
{
pick
}
from
'
lodash
'
;
import
{
pick
}
from
'
lodash
'
;
import
Cookies
from
'
js-cookie
'
;
import
axios
from
'
~/lib/utils/axios_utils
'
;
import
axios
from
'
~/lib/utils/axios_utils
'
;
import
boardsStore
from
'
~/boards/stores/boards_store
'
;
import
boardsStore
from
'
~/boards/stores/boards_store
'
;
import
{
__
}
from
'
~/locale
'
;
import
{
historyPushState
}
from
'
~/lib/utils/common_utils
'
;
import
{
historyPushState
,
parseBoolean
}
from
'
~/lib/utils/common_utils
'
;
import
{
mergeUrlParams
,
removeParams
}
from
'
~/lib/utils/url_utility
'
;
import
{
mergeUrlParams
,
removeParams
}
from
'
~/lib/utils/url_utility
'
;
import
actionsCE
from
'
~/boards/stores/actions
'
;
import
actionsCE
from
'
~/boards/stores/actions
'
;
import
{
BoardType
,
ListType
}
from
'
~/boards/constants
'
;
import
{
BoardType
}
from
'
~/boards/constants
'
;
import
{
EpicFilterType
,
IterationFilterType
,
GroupByParamType
}
from
'
../constants
'
;
import
{
EpicFilterType
,
IterationFilterType
,
GroupByParamType
}
from
'
../constants
'
;
import
boardsStoreEE
from
'
./boards_store_ee
'
;
import
boardsStoreEE
from
'
./boards_store_ee
'
;
import
*
as
types
from
'
./mutation_types
'
;
import
*
as
types
from
'
./mutation_types
'
;
...
@@ -228,22 +226,6 @@ export default {
...
@@ -228,22 +226,6 @@ export default {
});
});
},
},
showPromotionList
:
({
state
,
dispatch
})
=>
{
if
(
!
state
.
showPromotion
||
parseBoolean
(
Cookies
.
get
(
'
promotion_issue_board_hidden
'
))
||
state
.
disabled
)
{
return
;
}
dispatch
(
'
addList
'
,
{
id
:
'
promotion
'
,
listType
:
ListType
.
promotion
,
title
:
__
(
'
Improve Issue Boards
'
),
position
:
0
,
});
},
fetchAllBoards
:
()
=>
{
fetchAllBoards
:
()
=>
{
notImplemented
();
notImplemented
();
},
},
...
@@ -264,10 +246,6 @@ export default {
...
@@ -264,10 +246,6 @@ export default {
notImplemented
();
notImplemented
();
},
},
togglePromotionState
:
()
=>
{
notImplemented
();
},
fetchIssuesForList
:
({
state
,
commit
},
{
listId
,
fetchNext
=
false
,
noEpicIssues
=
false
})
=>
{
fetchIssuesForList
:
({
state
,
commit
},
{
listId
,
fetchNext
=
false
,
noEpicIssues
=
false
})
=>
{
commit
(
types
.
REQUEST_ISSUES_FOR_LIST
,
{
listId
,
fetchNext
});
commit
(
types
.
REQUEST_ISSUES_FOR_LIST
,
{
listId
,
fetchNext
});
...
...
ee/app/assets/javascripts/boards/stores/boards_store_ee.js
View file @
084f9e9a
...
@@ -4,8 +4,6 @@
...
@@ -4,8 +4,6 @@
modify the passed parameter in conformity with non-ee BoardsStore.
modify the passed parameter in conformity with non-ee BoardsStore.
*/
*/
import
{
sortBy
}
from
'
lodash
'
;
import
Cookies
from
'
js-cookie
'
;
import
{
__
,
sprintf
}
from
'
~/locale
'
;
import
{
__
,
sprintf
}
from
'
~/locale
'
;
import
sidebarEventHub
from
'
~/sidebar/event_hub
'
;
import
sidebarEventHub
from
'
~/sidebar/event_hub
'
;
import
{
deprecatedCreateFlash
as
createFlash
}
from
'
~/flash
'
;
import
{
deprecatedCreateFlash
as
createFlash
}
from
'
~/flash
'
;
...
@@ -19,13 +17,7 @@ class BoardsStoreEE {
...
@@ -19,13 +17,7 @@ class BoardsStoreEE {
initEESpecific
(
boardsStore
)
{
initEESpecific
(
boardsStore
)
{
this
.
$boardApp
=
document
.
getElementById
(
'
board-app
'
);
this
.
$boardApp
=
document
.
getElementById
(
'
board-app
'
);
this
.
store
=
boardsStore
;
this
.
store
=
boardsStore
;
this
.
store
.
addPromotionState
=
()
=>
{
this
.
addPromotion
();
};
this
.
store
.
loadList
=
(
listPath
,
listType
)
=>
this
.
loadList
(
listPath
,
listType
);
this
.
store
.
loadList
=
(
listPath
,
listType
)
=>
this
.
loadList
(
listPath
,
listType
);
this
.
store
.
removePromotionState
=
()
=>
{
this
.
removePromotion
();
};
const
superSetCurrentBoard
=
this
.
store
.
setCurrentBoard
.
bind
(
this
.
store
);
const
superSetCurrentBoard
=
this
.
store
.
setCurrentBoard
.
bind
(
this
.
store
);
this
.
store
.
setCurrentBoard
=
board
=>
{
this
.
store
.
setCurrentBoard
=
board
=>
{
...
@@ -168,38 +160,6 @@ class BoardsStoreEE {
...
@@ -168,38 +160,6 @@ class BoardsStoreEE {
this
.
store
.
updateFiltersUrl
(
true
);
this
.
store
.
updateFiltersUrl
(
true
);
}
}
addPromotion
()
{
if
(
!
this
.
$boardApp
.
hasAttribute
(
'
data-show-promotion
'
)
||
this
.
promotionIsHidden
()
||
this
.
store
.
disabled
)
{
return
;
}
this
.
store
.
addList
({
id
:
'
promotion
'
,
list_type
:
'
promotion
'
,
title
:
__
(
'
Improve Issue boards
'
),
position
:
0
,
});
this
.
store
.
state
.
lists
=
sortBy
(
this
.
store
.
state
.
lists
,
'
position
'
);
}
removePromotion
()
{
this
.
store
.
removeList
(
'
promotion
'
,
'
promotion
'
);
Cookies
.
set
(
'
promotion_issue_board_hidden
'
,
'
true
'
,
{
expires
:
365
*
10
,
path
:
''
,
});
}
promotionIsHidden
()
{
return
parseBoolean
(
Cookies
.
get
(
'
promotion_issue_board_hidden
'
));
}
setMaxIssueCountOnList
(
id
,
maxIssueCount
)
{
setMaxIssueCountOnList
(
id
,
maxIssueCount
)
{
this
.
store
.
findList
(
'
id
'
,
id
).
maxIssueCount
=
maxIssueCount
;
this
.
store
.
findList
(
'
id
'
,
id
).
maxIssueCount
=
maxIssueCount
;
}
}
...
...
ee/app/views/shared/promotions/_promote_issue_board.html.haml
deleted
100644 → 0
View file @
8ba36cd0
-
return
unless
@project
.board-promotion-state.p-3
.svg-container.center
=
custom_icon
(
'icon_issue_board'
)
%p
-
if
Gitlab
::
CurrentSettings
.
should_check_namespace_plan?
=
_
(
'Upgrade your plan to improve Issue boards.'
)
-
else
=
_
(
'Improve Issue boards with GitLab Enterprise Edition.'
)
%ul
-
unless
@project
.
multiple_issue_boards_available?
%li
=
link_to
_
(
'Multiple issue boards'
),
help_page_path
(
'user/project/issue_board.md'
,
anchor
:'use-cases-for-multiple-issue-boards'
),
target:
'_blank'
-
unless
@project
.
feature_available?
(
:scoped_issue_board
)
%li
=
link_to
_
(
'Scoped issue boards'
),
help_page_path
(
'user/project/issue_board.md'
,
anchor
:'configurable-issue-boards'
),
target:
'_blank'
=
render
'shared/promotions/promotion_link_project'
.top-space
%button
.d-block.mb-3.btn.btn-default.btn-block
#hide-btn
{
:href
=>
"#"
,
"@click.stop"
=>
"clearPromotionState"
}
=
_
(
"Thanks! Don't show me this again"
)
ee/spec/features/promotion_spec.rb
View file @
084f9e9a
...
@@ -103,34 +103,6 @@ RSpec.describe 'Promotions', :js do
...
@@ -103,34 +103,6 @@ RSpec.describe 'Promotions', :js do
end
end
end
end
describe
'for issue boards '
,
:js
do
before
do
stub_application_setting
(
check_namespace_plan:
true
)
allow
(
Gitlab
).
to
receive
(
:com?
)
{
true
}
project
.
add_maintainer
(
user
)
sign_in
(
user
)
end
it
'appears in issue boards page'
do
visit
project_boards_path
(
project
)
expect
(
find
(
'.board-promotion-state'
)).
to
have_content
"Upgrade your plan to improve Issue boards"
end
it
'does not show when cookie is set'
do
visit
project_boards_path
(
project
)
within
(
'.board-promotion-state'
)
do
find
(
'#hide-btn'
).
click
end
visit
project_boards_path
(
project
,
milestone
)
expect
(
page
).
not_to
have_selector
(
'.board-promotion-state'
)
end
end
describe
'for epics in issues sidebar'
,
:js
do
describe
'for epics in issues sidebar'
,
:js
do
shared_examples
'Epics promotion'
do
shared_examples
'Epics promotion'
do
it
'appears on the page'
do
it
'appears on the page'
do
...
...
ee/spec/frontend/boards/components/board_list_header_new_spec.js
View file @
084f9e9a
...
@@ -8,10 +8,6 @@ import { ListType, inactiveId } from '~/boards/constants';
...
@@ -8,10 +8,6 @@ import { ListType, inactiveId } from '~/boards/constants';
import
List
from
'
~/boards/models/list
'
;
import
List
from
'
~/boards/models/list
'
;
import
sidebarEventHub
from
'
~/sidebar/event_hub
'
;
import
sidebarEventHub
from
'
~/sidebar/event_hub
'
;
// board_promotion_state tries to mount on the real DOM,
// so we are mocking it in this test
jest
.
mock
(
'
ee/boards/components/board_promotion_state
'
,
()
=>
({}));
const
localVue
=
createLocalVue
();
const
localVue
=
createLocalVue
();
localVue
.
use
(
Vuex
);
localVue
.
use
(
Vuex
);
...
@@ -80,7 +76,7 @@ describe('Board List Header Component', () => {
...
@@ -80,7 +76,7 @@ describe('Board List Header Component', () => {
describe
(
'
Settings Button
'
,
()
=>
{
describe
(
'
Settings Button
'
,
()
=>
{
const
hasSettings
=
[
ListType
.
assignee
,
ListType
.
milestone
,
ListType
.
label
];
const
hasSettings
=
[
ListType
.
assignee
,
ListType
.
milestone
,
ListType
.
label
];
const
hasNoSettings
=
[
ListType
.
backlog
,
ListType
.
blank
,
ListType
.
closed
,
ListType
.
promotion
];
const
hasNoSettings
=
[
ListType
.
backlog
,
ListType
.
blank
,
ListType
.
closed
];
it
.
each
(
hasSettings
)(
'
does render for List Type `%s`
'
,
listType
=>
{
it
.
each
(
hasSettings
)(
'
does render for List Type `%s`
'
,
listType
=>
{
createComponent
({
listType
});
createComponent
({
listType
});
...
...
ee/spec/frontend/boards/components/board_list_header_spec.js
View file @
084f9e9a
...
@@ -12,10 +12,6 @@ import List from '~/boards/models/list';
...
@@ -12,10 +12,6 @@ import List from '~/boards/models/list';
import
axios
from
'
~/lib/utils/axios_utils
'
;
import
axios
from
'
~/lib/utils/axios_utils
'
;
import
sidebarEventHub
from
'
~/sidebar/event_hub
'
;
import
sidebarEventHub
from
'
~/sidebar/event_hub
'
;
// board_promotion_state tries to mount on the real DOM,
// so we are mocking it in this test
jest
.
mock
(
'
ee/boards/components/board_promotion_state
'
,
()
=>
({}));
const
localVue
=
createLocalVue
();
const
localVue
=
createLocalVue
();
localVue
.
use
(
Vuex
);
localVue
.
use
(
Vuex
);
...
@@ -86,7 +82,7 @@ describe('Board List Header Component', () => {
...
@@ -86,7 +82,7 @@ describe('Board List Header Component', () => {
describe
(
'
Settings Button
'
,
()
=>
{
describe
(
'
Settings Button
'
,
()
=>
{
const
hasSettings
=
[
ListType
.
assignee
,
ListType
.
milestone
,
ListType
.
label
];
const
hasSettings
=
[
ListType
.
assignee
,
ListType
.
milestone
,
ListType
.
label
];
const
hasNoSettings
=
[
ListType
.
backlog
,
ListType
.
blank
,
ListType
.
closed
,
ListType
.
promotion
];
const
hasNoSettings
=
[
ListType
.
backlog
,
ListType
.
blank
,
ListType
.
closed
];
it
.
each
(
hasSettings
)(
'
does render for List Type `%s`
'
,
listType
=>
{
it
.
each
(
hasSettings
)(
'
does render for List Type `%s`
'
,
listType
=>
{
createComponent
({
listType
});
createComponent
({
listType
});
...
...
ee/spec/frontend/boards/stores/actions_spec.js
View file @
084f9e9a
...
@@ -7,7 +7,6 @@ import * as types from 'ee/boards/stores/mutation_types';
...
@@ -7,7 +7,6 @@ import * as types from 'ee/boards/stores/mutation_types';
import
{
TEST_HOST
}
from
'
helpers/test_constants
'
;
import
{
TEST_HOST
}
from
'
helpers/test_constants
'
;
import
testAction
from
'
helpers/vuex_action_helper
'
;
import
testAction
from
'
helpers/vuex_action_helper
'
;
import
{
formatListIssues
}
from
'
~/boards/boards_util
'
;
import
{
formatListIssues
}
from
'
~/boards/boards_util
'
;
import
{
ListType
}
from
'
~/boards/constants
'
;
import
*
as
typesCE
from
'
~/boards/stores/mutation_types
'
;
import
*
as
typesCE
from
'
~/boards/stores/mutation_types
'
;
import
*
as
commonUtils
from
'
~/lib/utils/common_utils
'
;
import
*
as
commonUtils
from
'
~/lib/utils/common_utils
'
;
import
{
mergeUrlParams
,
removeParams
}
from
'
~/lib/utils/url_utility
'
;
import
{
mergeUrlParams
,
removeParams
}
from
'
~/lib/utils/url_utility
'
;
...
@@ -344,34 +343,6 @@ describe('updateListWipLimit', () => {
...
@@ -344,34 +343,6 @@ describe('updateListWipLimit', () => {
});
});
});
});
describe
(
'
showPromotionList
'
,
()
=>
{
it
(
'
should dispatch addList action when conditions showPromotion is true
'
,
done
=>
{
const
state
=
{
endpoints
:
{
fullPath
:
'
gitlab-org
'
,
boardId
:
'
1
'
},
boardType
:
'
group
'
,
disabled
:
false
,
boardLists
:
[{
type
:
'
backlog
'
},
{
type
:
'
closed
'
}],
showPromotion
:
true
,
};
const
promotionList
=
{
id
:
'
promotion
'
,
listType
:
ListType
.
promotion
,
title
:
'
Improve Issue Boards
'
,
position
:
0
,
};
testAction
(
actions
.
showPromotionList
,
{},
state
,
[],
[{
type
:
'
addList
'
,
payload
:
promotionList
}],
done
,
);
});
});
describe
(
'
fetchAllBoards
'
,
()
=>
{
describe
(
'
fetchAllBoards
'
,
()
=>
{
expectNotImplemented
(
actions
.
fetchAllBoards
);
expectNotImplemented
(
actions
.
fetchAllBoards
);
});
});
...
@@ -392,10 +363,6 @@ describe('updateIssueWeight', () => {
...
@@ -392,10 +363,6 @@ describe('updateIssueWeight', () => {
expectNotImplemented
(
actions
.
updateIssueWeight
);
expectNotImplemented
(
actions
.
updateIssueWeight
);
});
});
describe
(
'
togglePromotionState
'
,
()
=>
{
expectNotImplemented
(
actions
.
updateIssueWeight
);
});
describe
(
'
fetchIssuesForEpic
'
,
()
=>
{
describe
(
'
fetchIssuesForEpic
'
,
()
=>
{
const
listId
=
mockLists
[
0
].
id
;
const
listId
=
mockLists
[
0
].
id
;
const
epicId
=
mockEpic
.
id
;
const
epicId
=
mockEpic
.
id
;
...
...
locale/gitlab.pot
View file @
084f9e9a
...
@@ -14365,15 +14365,6 @@ msgstr ""
...
@@ -14365,15 +14365,6 @@ msgstr ""
msgid "Imported requirements"
msgid "Imported requirements"
msgstr ""
msgstr ""
msgid "Improve Issue Boards"
msgstr ""
msgid "Improve Issue boards"
msgstr ""
msgid "Improve Issue boards with GitLab Enterprise Edition."
msgstr ""
msgid "Improve Merge Requests and customer support with GitLab Enterprise Edition."
msgid "Improve Merge Requests and customer support with GitLab Enterprise Edition."
msgstr ""
msgstr ""
...
@@ -18008,9 +17999,6 @@ msgstr ""
...
@@ -18008,9 +17999,6 @@ msgstr ""
msgid "Multiple domains are supported."
msgid "Multiple domains are supported."
msgstr ""
msgstr ""
msgid "Multiple issue boards"
msgstr ""
msgid "Multiple model types found: %{model_types}"
msgid "Multiple model types found: %{model_types}"
msgstr ""
msgstr ""
...
@@ -23938,9 +23926,6 @@ msgstr ""
...
@@ -23938,9 +23926,6 @@ msgstr ""
msgid "Scope"
msgid "Scope"
msgstr ""
msgstr ""
msgid "Scoped issue boards"
msgstr ""
msgid "Scopes"
msgid "Scopes"
msgstr ""
msgstr ""
...
@@ -27098,9 +27083,6 @@ msgstr ""
...
@@ -27098,9 +27083,6 @@ msgstr ""
msgid "Thanks for your purchase!"
msgid "Thanks for your purchase!"
msgstr ""
msgstr ""
msgid "Thanks! Don't show me this again"
msgstr ""
msgid "That's it, well done!"
msgid "That's it, well done!"
msgstr ""
msgstr ""
...
@@ -29557,9 +29539,6 @@ msgstr ""
...
@@ -29557,9 +29539,6 @@ msgstr ""
msgid "Upgrade your plan to enable this feature of the Jira Integration."
msgid "Upgrade your plan to enable this feature of the Jira Integration."
msgstr ""
msgstr ""
msgid "Upgrade your plan to improve Issue boards."
msgstr ""
msgid "Upgrade your plan to improve Merge Requests."
msgid "Upgrade your plan to improve Merge Requests."
msgstr ""
msgstr ""
...
...
spec/frontend/boards/components/board_content_spec.js
View file @
084f9e9a
...
@@ -3,8 +3,8 @@ import { createLocalVue, shallowMount } from '@vue/test-utils';
...
@@ -3,8 +3,8 @@ import { createLocalVue, shallowMount } from '@vue/test-utils';
import
{
GlAlert
}
from
'
@gitlab/ui
'
;
import
{
GlAlert
}
from
'
@gitlab/ui
'
;
import
Draggable
from
'
vuedraggable
'
;
import
Draggable
from
'
vuedraggable
'
;
import
EpicsSwimlanes
from
'
ee_component/boards/components/epics_swimlanes.vue
'
;
import
EpicsSwimlanes
from
'
ee_component/boards/components/epics_swimlanes.vue
'
;
import
BoardColumn
from
'
ee_else_ce/boards/components/board_column.vue
'
;
import
getters
from
'
ee_else_ce/boards/stores/getters
'
;
import
getters
from
'
ee_else_ce/boards/stores/getters
'
;
import
BoardColumn
from
'
~/boards/components/board_column.vue
'
;
import
{
mockListsWithModel
}
from
'
../mock_data
'
;
import
{
mockListsWithModel
}
from
'
../mock_data
'
;
import
BoardContent
from
'
~/boards/components/board_content.vue
'
;
import
BoardContent
from
'
~/boards/components/board_content.vue
'
;
...
@@ -13,7 +13,6 @@ localVue.use(Vuex);
...
@@ -13,7 +13,6 @@ localVue.use(Vuex);
const
actions
=
{
const
actions
=
{
moveList
:
jest
.
fn
(),
moveList
:
jest
.
fn
(),
showPromotionList
:
jest
.
fn
(),
};
};
describe
(
'
BoardContent
'
,
()
=>
{
describe
(
'
BoardContent
'
,
()
=>
{
...
...
spec/frontend/boards/components/board_list_header_new_spec.js
View file @
084f9e9a
...
@@ -79,7 +79,7 @@ describe('Board List Header Component', () => {
...
@@ -79,7 +79,7 @@ describe('Board List Header Component', () => {
const
findCaret
=
()
=>
wrapper
.
find
(
'
.board-title-caret
'
);
const
findCaret
=
()
=>
wrapper
.
find
(
'
.board-title-caret
'
);
describe
(
'
Add issue button
'
,
()
=>
{
describe
(
'
Add issue button
'
,
()
=>
{
const
hasNoAddButton
=
[
ListType
.
promotion
,
ListType
.
blank
,
ListType
.
closed
];
const
hasNoAddButton
=
[
ListType
.
blank
,
ListType
.
closed
];
const
hasAddButton
=
[
ListType
.
backlog
,
ListType
.
label
,
ListType
.
milestone
,
ListType
.
assignee
];
const
hasAddButton
=
[
ListType
.
backlog
,
ListType
.
label
,
ListType
.
milestone
,
ListType
.
assignee
];
it
.
each
(
hasNoAddButton
)(
'
does not render when List Type is `%s`
'
,
listType
=>
{
it
.
each
(
hasNoAddButton
)(
'
does not render when List Type is `%s`
'
,
listType
=>
{
...
...
spec/frontend/boards/components/board_list_header_spec.js
View file @
084f9e9a
...
@@ -73,7 +73,7 @@ describe('Board List Header Component', () => {
...
@@ -73,7 +73,7 @@ describe('Board List Header Component', () => {
const
findCaret
=
()
=>
wrapper
.
find
(
'
.board-title-caret
'
);
const
findCaret
=
()
=>
wrapper
.
find
(
'
.board-title-caret
'
);
describe
(
'
Add issue button
'
,
()
=>
{
describe
(
'
Add issue button
'
,
()
=>
{
const
hasNoAddButton
=
[
ListType
.
promotion
,
ListType
.
blank
,
ListType
.
closed
];
const
hasNoAddButton
=
[
ListType
.
blank
,
ListType
.
closed
];
const
hasAddButton
=
[
ListType
.
backlog
,
ListType
.
label
,
ListType
.
milestone
,
ListType
.
assignee
];
const
hasAddButton
=
[
ListType
.
backlog
,
ListType
.
label
,
ListType
.
milestone
,
ListType
.
assignee
];
it
.
each
(
hasNoAddButton
)(
'
does not render when List Type is `%s`
'
,
listType
=>
{
it
.
each
(
hasNoAddButton
)(
'
does not render when List Type is `%s`
'
,
listType
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment