Commit fed9726a authored by Florie Guibert's avatar Florie Guibert

Roadmap settings - Turn off progress tracking

Review feedback
parent 1ed1fe07
...@@ -200,6 +200,12 @@ ...@@ -200,6 +200,12 @@
} }
} }
.gl-xl-ml-3 {
@include media-breakpoint-up(lg) {
margin-left: $gl-spacing-scale-3;
}
}
.gl-mb-n3 { .gl-mb-n3 {
margin-bottom: -$gl-spacing-scale-3; margin-bottom: -$gl-spacing-scale-3;
} }
......
...@@ -82,7 +82,7 @@ export default { ...@@ -82,7 +82,7 @@ export default {
:timeframe-range-type="timeframeRangeType" :timeframe-range-type="timeframeRangeType"
@toggleSettings="toggleSettings" @toggleSettings="toggleSettings"
/> />
<div :class="{ 'overflow-reset': epicsFetchResultEmpty }" class="roadmap-container"> <div :class="{ 'overflow-reset': epicsFetchResultEmpty }" class="roadmap-container gl-relative">
<gl-loading-icon v-if="epicsFetchInProgress" class="gl-mt-5" size="md" /> <gl-loading-icon v-if="epicsFetchInProgress" class="gl-mt-5" size="md" />
<epics-list-empty <epics-list-empty
v-else-if="epicsFetchResultEmpty" v-else-if="epicsFetchResultEmpty"
......
...@@ -94,7 +94,7 @@ export default { ...@@ -94,7 +94,7 @@ export default {
<gl-dropdown <gl-dropdown
id="roadmap-daterange" id="roadmap-daterange"
icon="calendar" icon="calendar"
class="gl-mb-3 roadmap-daterange-dropdown" class="roadmap-daterange-dropdown"
toggle-class="gl-rounded-base!" toggle-class="gl-rounded-base!"
:text="daterangeDropdownText" :text="daterangeDropdownText"
data-testid="daterange-dropdown" data-testid="daterange-dropdown"
...@@ -110,7 +110,7 @@ export default { ...@@ -110,7 +110,7 @@ export default {
{{ dateRange.text }} {{ dateRange.text }}
</gl-dropdown-item> </gl-dropdown-item>
</gl-dropdown> </gl-dropdown>
<gl-form-group v-if="availablePresets.length" class="gl-mb-0"> <gl-form-group v-if="availablePresets.length" class="gl-mb-0 gl-mt-3">
<gl-form-radio-group <gl-form-radio-group
data-testid="daterange-presets" data-testid="daterange-presets"
:checked="presetType" :checked="presetType"
......
...@@ -255,7 +255,7 @@ export default { ...@@ -255,7 +255,7 @@ export default {
<gl-button <gl-button
v-if="glFeatures.roadmapSettings" v-if="glFeatures.roadmapSettings"
icon="settings" icon="settings"
class="gl-mb-3 gl-lg-ml-3 gl-sm-mt-3" class="gl-mb-3 gl-xl-ml-3 gl-inset-border-1-gray-400!"
:aria-label="$options.i18n.settings" :aria-label="$options.i18n.settings"
data-testid="settings-button" data-testid="settings-button"
@click="$emit('toggleSettings', $event)" @click="$emit('toggleSettings', $event)"
......
...@@ -35,20 +35,18 @@ export default { ...@@ -35,20 +35,18 @@ export default {
<gl-form-group <gl-form-group
class="gl-mb-0" class="gl-mb-0"
:label="$options.i18n.header" :label="$options.i18n.header"
label-class="gl-pb-2!"
data-testid="roadmap-progress-tracking" data-testid="roadmap-progress-tracking"
> >
<label for="toggle-progress-tracking" class="gl-font-weight-normal">
{{ $options.i18n.toggleLabel }}
</label>
<gl-toggle <gl-toggle
id="toggle-progress-tracking"
:value="isProgressTrackingActive" :value="isProgressTrackingActive"
:label="$options.i18n.toggleLabel" :label="$options.i18n.toggleLabel"
label-position="hidden"
aria-describedby="toggleTrackingProgress"
data-testid="toggle-progress-tracking"
@change="toggleProgressTrackingActive" @change="toggleProgressTrackingActive"
/> >
<template #label>
<span class="gl-font-weight-normal">{{ $options.i18n.toggleLabel }}</span>
</template>
</gl-toggle>
<gl-form-radio-group <gl-form-radio-group
v-if="isProgressTrackingActive" v-if="isProgressTrackingActive"
:checked="progressTracking" :checked="progressTracking"
......
...@@ -23,18 +23,6 @@ export default { ...@@ -23,18 +23,6 @@ export default {
required: true, required: true,
}, },
}, },
methods: {
getDrawerHeaderHeight() {
const wrapperEl = document.querySelector('.roadmap-container');
if (wrapperEl) {
const topPosition = wrapperEl.getBoundingClientRect().top + window.pageYOffset;
return `${topPosition}px`;
}
return '';
},
},
}; };
</script> </script>
...@@ -42,7 +30,7 @@ export default { ...@@ -42,7 +30,7 @@ export default {
<gl-drawer <gl-drawer
v-bind="$attrs" v-bind="$attrs"
:open="isOpen" :open="isOpen"
:header-height="getDrawerHeaderHeight()" class="gl-absolute"
@close="$emit('toggleSettings', $event)" @close="$emit('toggleSettings', $event)"
> >
<template #title> <template #title>
......
...@@ -53,8 +53,8 @@ export default { ...@@ -53,8 +53,8 @@ export default {
'not[author_username]': notAuthorUsername, 'not[author_username]': notAuthorUsername,
'not[my_reaction_emoji]': notMyReactionEmoji, 'not[my_reaction_emoji]': notMyReactionEmoji,
'not[label_name][]': notLabelName, 'not[label_name][]': notLabelName,
showProgress: this.isProgressTrackingActive,
progress: this.progressTracking, progress: this.progressTracking,
show_progress: this.isProgressTrackingActive,
show_milestones: this.isShowingMilestones, show_milestones: this.isShowingMilestones,
milestones_type: this.milestonesType, milestones_type: this.milestonesType,
}; };
......
...@@ -110,9 +110,9 @@ export default () => { ...@@ -110,9 +110,9 @@ export default () => {
timeframe, timeframe,
progressTracking: rawFilterParams.progress || PROGRESS_WEIGHT, progressTracking: rawFilterParams.progress || PROGRESS_WEIGHT,
isProgressTrackingActive: isProgressTrackingActive:
rawFilterParams.showProgress === undefined rawFilterParams.show_progress === undefined
? true ? true
: parseBoolean(rawFilterParams.showProgress), : parseBoolean(rawFilterParams.show_progress),
isShowingMilestones: isShowingMilestones:
rawFilterParams.show_milestones === undefined rawFilterParams.show_milestones === undefined
? true ? true
......
...@@ -525,11 +525,9 @@ html.group-epics-roadmap-html { ...@@ -525,11 +525,9 @@ html.group-epics-roadmap-html {
.sort-dropdown-container { .sort-dropdown-container {
// This override is needed to make sort-dropdown have same height // This override is needed to make sort-dropdown have same height
// as filtered search bar. // as filtered search bar.
@include media-breakpoint-up(sm) { .dropdown,
.dropdown, > button {
> button { margin-bottom: $gl-padding-8;
margin-bottom: $gl-padding-8;
}
} }
} }
} }
...@@ -248,9 +248,10 @@ RSpec.describe 'group epic roadmap', :js do ...@@ -248,9 +248,10 @@ RSpec.describe 'group epic roadmap', :js do
end end
describe 'roadmap with epics progress tracking' do describe 'roadmap with epics progress tracking' do
def select_progress_tracking(tracking) def wait_for_epics(count, icon)
page.within('[data-testid="roadmap-progress-tracking"]') do page.within('.roadmap-container .epics-list-section') do
choose tracking expect(page).to have_selector('.epic-bar-progress', count: count)
expect(page).to have_selector("[data-testid='#{icon}']", count: count)
end end
end end
...@@ -258,27 +259,21 @@ RSpec.describe 'group epic roadmap', :js do ...@@ -258,27 +259,21 @@ RSpec.describe 'group epic roadmap', :js do
open_settings_sidebar open_settings_sidebar
end end
it 'renders progress bar using weight' do it 'renders progress bar using weight', :aggregate_failures do
select_progress_tracking('Use issue weight') choose 'Use issue weight'
page.within('.roadmap-container .epics-list-section') do wait_for_epics(3, "weight-icon")
expect(page).to have_selector('.epic-bar-progress', count: 3)
expect(page).to have_selector('[data-testid="weight-icon"]', count: 3)
end
end end
it 'renders progress bar issue count' do it 'renders progress bar issue count', :aggregate_failures do
select_progress_tracking('Use issue count') choose 'Use issue count'
page.within('.roadmap-container .epics-list-section') do wait_for_epics(3, "issue-closed-icon")
expect(page).to have_selector('.epic-bar-progress', count: 3)
expect(page).to have_selector('[data-testid="issue-closed-icon"]', count: 3)
end
end end
it 'turns off progress tracking' do it 'turns off progress tracking', :aggregate_failures do
page.within('[data-testid="roadmap-progress-tracking"]') do page.within('[data-testid="roadmap-progress-tracking"]') do
find('[data-testid="toggle-progress-tracking"]').click click_button class: 'gl-toggle'
end end
page.within('.roadmap-container .epics-list-section') do page.within('.roadmap-container .epics-list-section') do
......
...@@ -125,7 +125,7 @@ describe('RoadmapFilters', () => { ...@@ -125,7 +125,7 @@ describe('RoadmapFilters', () => {
await nextTick(); await nextTick();
expect(global.window.location.href).toBe( expect(global.window.location.href).toBe(
`${TEST_HOST}/?state=${EPICS_STATES.CLOSED}&sort=end_date_asc&layout=MONTHS&author_username=root&label_name%5B%5D=Bug&milestone_title=4.0&confidential=true&showProgress=true&progress=WEIGHT&show_milestones=true&milestones_type=ALL`, `${TEST_HOST}/?state=${EPICS_STATES.CLOSED}&sort=end_date_asc&layout=MONTHS&author_username=root&label_name%5B%5D=Bug&milestone_title=4.0&confidential=true&progress=WEIGHT&show_progress=true&show_milestones=true&milestones_type=ALL`,
); );
}); });
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment