Commit 366dbfb6 authored by Martin Wortschack's avatar Martin Wortschack

Merge branch '202541-dashboard-filters-should-scale-different-screens' into 'master'

Define dashboard dropdowns layout in flex

See merge request gitlab-org/gitlab!29477
parents 9bf7a9ba 8d6f1313
...@@ -8,7 +8,6 @@ import { ...@@ -8,7 +8,6 @@ import {
GlDropdownItem, GlDropdownItem,
GlDropdownHeader, GlDropdownHeader,
GlDropdownDivider, GlDropdownDivider,
GlFormGroup,
GlModal, GlModal,
GlLoadingIcon, GlLoadingIcon,
GlSearchBoxByType, GlSearchBoxByType,
...@@ -46,7 +45,6 @@ export default { ...@@ -46,7 +45,6 @@ export default {
GlDropdownHeader, GlDropdownHeader,
GlDropdownDivider, GlDropdownDivider,
GlSearchBoxByType, GlSearchBoxByType,
GlFormGroup,
GlModal, GlModal,
DateTimePicker, DateTimePicker,
...@@ -378,45 +376,34 @@ export default { ...@@ -378,45 +376,34 @@ export default {
<div <div
v-if="showHeader" v-if="showHeader"
ref="prometheusGraphsHeader" ref="prometheusGraphsHeader"
class="prometheus-graphs-header gl-p-3 pb-0 border-bottom bg-gray-light" class="prometheus-graphs-header d-sm-flex flex-sm-wrap pt-2 pr-1 pb-0 pl-2 border-bottom bg-gray-light"
>
<div class="row">
<gl-form-group
:label="__('Dashboard')"
label-size="sm"
label-for="monitor-dashboards-dropdown"
class="col-sm-12 col-md-6 col-lg-2"
> >
<div class="mb-2 pr-2 d-flex d-sm-block">
<dashboards-dropdown <dashboards-dropdown
id="monitor-dashboards-dropdown" id="monitor-dashboards-dropdown"
data-qa-selector="dashboards_filter_dropdown" data-qa-selector="dashboards_filter_dropdown"
class="mb-0 d-flex" class="flex-grow-1"
toggle-class="dropdown-menu-toggle" toggle-class="dropdown-menu-toggle"
:default-branch="defaultBranch" :default-branch="defaultBranch"
:selected-dashboard="selectedDashboard" :selected-dashboard="selectedDashboard"
@selectDashboard="selectDashboard($event)" @selectDashboard="selectDashboard($event)"
/> />
</gl-form-group> </div>
<gl-form-group <div class="mb-2 pr-2 d-flex d-sm-block">
:label="s__('Metrics|Environment')"
label-size="sm"
label-for="monitor-environments-dropdown"
class="col-sm-6 col-md-6 col-lg-2"
>
<gl-dropdown <gl-dropdown
id="monitor-environments-dropdown" id="monitor-environments-dropdown"
ref="monitorEnvironmentsDropdown" ref="monitorEnvironmentsDropdown"
class="flex-grow-1"
data-qa-selector="environments_dropdown" data-qa-selector="environments_dropdown"
class="mb-0 d-flex"
toggle-class="dropdown-menu-toggle" toggle-class="dropdown-menu-toggle"
menu-class="monitor-environment-dropdown-menu" menu-class="monitor-environment-dropdown-menu"
:text="currentEnvironmentName" :text="currentEnvironmentName"
> >
<div class="d-flex flex-column overflow-hidden"> <div class="d-flex flex-column overflow-hidden">
<gl-dropdown-header class="monitor-environment-dropdown-header text-center">{{ <gl-dropdown-header class="monitor-environment-dropdown-header text-center">
__('Environment') {{ __('Environment') }}
}}</gl-dropdown-header> </gl-dropdown-header>
<gl-dropdown-divider /> <gl-dropdown-divider />
<gl-search-box-by-type <gl-search-box-by-type
ref="monitorEnvironmentsDropdownSearch" ref="monitorEnvironmentsDropdownSearch"
...@@ -447,61 +434,57 @@ export default { ...@@ -447,61 +434,57 @@ export default {
</div> </div>
</div> </div>
</gl-dropdown> </gl-dropdown>
</gl-form-group> </div>
<gl-form-group <div class="mb-2 pr-2 d-flex d-sm-block">
:label="s__('Metrics|Show last')"
label-size="sm"
label-for="monitor-time-window-dropdown"
class="col-sm-auto col-md-auto col-lg-auto"
data-qa-selector="show_last_dropdown"
>
<date-time-picker <date-time-picker
ref="dateTimePicker" ref="dateTimePicker"
class="flex-grow-1 show-last-dropdown"
data-qa-selector="show_last_dropdown"
:value="selectedTimeRange" :value="selectedTimeRange"
:options="timeRanges" :options="timeRanges"
@input="onDateTimePickerInput" @input="onDateTimePickerInput"
@invalid="onDateTimePickerInvalid" @invalid="onDateTimePickerInvalid"
/> />
</gl-form-group> </div>
<gl-form-group class="col-sm-2 col-md-2 col-lg-1 refresh-dashboard-button"> <div class="mb-2 pr-2 d-flex d-sm-block">
<gl-deprecated-button <gl-deprecated-button
ref="refreshDashboardBtn" ref="refreshDashboardBtn"
v-gl-tooltip v-gl-tooltip
class="flex-grow-1"
variant="default" variant="default"
:title="s__('Metrics|Refresh dashboard')" :title="s__('Metrics|Refresh dashboard')"
@click="refreshDashboard" @click="refreshDashboard"
> >
<icon name="retry" /> <icon name="retry" />
</gl-deprecated-button> </gl-deprecated-button>
</gl-form-group> </div>
<gl-form-group <div class="flex-grow-1"></div>
v-if="hasHeaderButtons"
label-for="prometheus-graphs-dropdown-buttons" <div class="d-sm-flex">
class="dropdown-buttons col-md d-md-flex col-lg d-lg-flex align-items-end" <div v-if="showRearrangePanelsBtn" class="mb-2 mr-2 d-flex">
>
<div id="prometheus-graphs-dropdown-buttons">
<gl-deprecated-button <gl-deprecated-button
v-if="showRearrangePanelsBtn"
:pressed="isRearrangingPanels" :pressed="isRearrangingPanels"
variant="default" variant="default"
class="mr-2 mt-1 js-rearrange-button" class="flex-grow-1 js-rearrange-button"
@click="toggleRearrangingPanels" @click="toggleRearrangingPanels"
>{{ __('Arrange charts') }}</gl-deprecated-button
> >
{{ __('Arrange charts') }}
</gl-deprecated-button>
</div>
<div v-if="addingMetricsAvailable" class="mb-2 mr-2 d-flex d-sm-block">
<gl-deprecated-button <gl-deprecated-button
v-if="addingMetricsAvailable"
ref="addMetricBtn" ref="addMetricBtn"
v-gl-modal="$options.addMetric.modalId" v-gl-modal="$options.addMetric.modalId"
variant="outline-success" variant="outline-success"
data-qa-selector="add_metric_button" data-qa-selector="add_metric_button"
class="mr-2 mt-1" class="flex-grow-1"
>{{ $options.addMetric.title }}</gl-deprecated-button
> >
{{ $options.addMetric.title }}
</gl-deprecated-button>
<gl-modal <gl-modal
v-if="addingMetricsAvailable"
ref="addMetricModal" ref="addMetricModal"
:modal-id="$options.addMetric.modalId" :modal-id="$options.addMetric.modalId"
:title="$options.addMetric.title" :title="$options.addMetric.title"
...@@ -514,41 +497,43 @@ export default { ...@@ -514,41 +497,43 @@ export default {
/> />
</form> </form>
<div slot="modal-footer"> <div slot="modal-footer">
<gl-deprecated-button @click="hideAddMetricModal">{{ <gl-deprecated-button @click="hideAddMetricModal">
__('Cancel') {{ __('Cancel') }}
}}</gl-deprecated-button> </gl-deprecated-button>
<gl-deprecated-button <gl-deprecated-button
ref="submitCustomMetricsFormBtn" ref="submitCustomMetricsFormBtn"
v-track-event="getAddMetricTrackingOptions()" v-track-event="getAddMetricTrackingOptions()"
:disabled="!formIsValid" :disabled="!formIsValid"
variant="success" variant="success"
@click="submitCustomMetricsForm" @click="submitCustomMetricsForm"
>{{ __('Save changes') }}</gl-deprecated-button
> >
{{ __('Save changes') }}
</gl-deprecated-button>
</div> </div>
</gl-modal> </gl-modal>
</div>
<div v-if="selectedDashboard.can_edit" class="mb-2 mr-2 d-flex d-sm-block">
<gl-deprecated-button <gl-deprecated-button
v-if="selectedDashboard.can_edit" class="flex-grow-1 js-edit-link"
class="mt-1 js-edit-link"
:href="selectedDashboard.project_blob_path" :href="selectedDashboard.project_blob_path"
data-qa-selector="edit_dashboard_button" data-qa-selector="edit_dashboard_button"
>{{ __('Edit dashboard') }}</gl-deprecated-button
> >
{{ __('Edit dashboard') }}
</gl-deprecated-button>
</div>
<div v-if="externalDashboardUrl.length" class="mb-2 mr-2 d-flex d-sm-block">
<gl-deprecated-button <gl-deprecated-button
v-if="externalDashboardUrl.length" class="flex-grow-1 js-external-dashboard-link"
class="mt-1 js-external-dashboard-link"
variant="primary" variant="primary"
:href="externalDashboardUrl" :href="externalDashboardUrl"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >
{{ __('View full dashboard') }} {{ __('View full dashboard') }} <icon name="external-link" />
<icon name="external-link" />
</gl-deprecated-button> </gl-deprecated-button>
</div> </div>
</gl-form-group>
</div> </div>
</div> </div>
......
...@@ -158,7 +158,7 @@ export default { ...@@ -158,7 +158,7 @@ export default {
<template> <template>
<tooltip-on-truncate <tooltip-on-truncate
:title="timeWindowText" :title="timeWindowText"
:truncate-target="elem => elem.querySelector('.date-time-picker-toggle')" :truncate-target="elem => elem.querySelector('.gl-dropdown-toggle-text')"
placement="top" placement="top"
class="d-inline-block" class="d-inline-block"
> >
......
...@@ -64,6 +64,12 @@ ...@@ -64,6 +64,12 @@
padding: $gl-padding-8 $gl-padding-12; padding: $gl-padding-8 $gl-padding-12;
} }
} }
.show-last-dropdown {
// same as in .dropdown-menu-toggle
// see app/assets/stylesheets/framework/dropdowns.scss
width: 160px;
}
} }
.prometheus-panel { .prometheus-panel {
......
---
title: Define dashboard dropdowns layout in flex to improve support smaller screens
merge_request: 29477
author:
type: changed
...@@ -12982,9 +12982,6 @@ msgid_plural "Metrics|Edit metrics" ...@@ -12982,9 +12982,6 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
msgid "Metrics|Environment"
msgstr ""
msgid "Metrics|For grouping similar metrics" msgid "Metrics|For grouping similar metrics"
msgstr "" msgstr ""
...@@ -13018,9 +13015,6 @@ msgstr "" ...@@ -13018,9 +13015,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard" msgid "Metrics|Refresh dashboard"
msgstr "" msgstr ""
msgid "Metrics|Show last"
msgstr ""
msgid "Metrics|There was an error creating the dashboard." msgid "Metrics|There was an error creating the dashboard."
msgstr "" msgstr ""
......
...@@ -6,35 +6,26 @@ exports[`Dashboard template matches the default snapshot 1`] = ` ...@@ -6,35 +6,26 @@ exports[`Dashboard template matches the default snapshot 1`] = `
data-qa-selector="prometheus_graphs" data-qa-selector="prometheus_graphs"
> >
<div <div
class="prometheus-graphs-header gl-p-3 pb-0 border-bottom bg-gray-light" class="prometheus-graphs-header d-sm-flex flex-sm-wrap pt-2 pr-1 pb-0 pl-2 border-bottom bg-gray-light"
> >
<div <div
class="row" class="mb-2 pr-2 d-flex d-sm-block"
>
<gl-form-group-stub
class="col-sm-12 col-md-6 col-lg-2"
label="Dashboard"
label-for="monitor-dashboards-dropdown"
label-size="sm"
> >
<dashboards-dropdown-stub <dashboards-dropdown-stub
class="mb-0 d-flex" class="flex-grow-1"
data-qa-selector="dashboards_filter_dropdown" data-qa-selector="dashboards_filter_dropdown"
defaultbranch="master" defaultbranch="master"
id="monitor-dashboards-dropdown" id="monitor-dashboards-dropdown"
selecteddashboard="[object Object]" selecteddashboard="[object Object]"
toggle-class="dropdown-menu-toggle" toggle-class="dropdown-menu-toggle"
/> />
</gl-form-group-stub> </div>
<gl-form-group-stub <div
class="col-sm-6 col-md-6 col-lg-2" class="mb-2 pr-2 d-flex d-sm-block"
label="Environment"
label-for="monitor-environments-dropdown"
label-size="sm"
> >
<gl-dropdown-stub <gl-dropdown-stub
class="mb-0 d-flex" class="flex-grow-1"
data-qa-selector="environments_dropdown" data-qa-selector="environments_dropdown"
id="monitor-environments-dropdown" id="monitor-environments-dropdown"
menu-class="monitor-environment-dropdown-menu" menu-class="monitor-environment-dropdown-menu"
...@@ -47,7 +38,9 @@ exports[`Dashboard template matches the default snapshot 1`] = ` ...@@ -47,7 +38,9 @@ exports[`Dashboard template matches the default snapshot 1`] = `
<gl-dropdown-header-stub <gl-dropdown-header-stub
class="monitor-environment-dropdown-header text-center" class="monitor-environment-dropdown-header text-center"
> >
Environment Environment
</gl-dropdown-header-stub> </gl-dropdown-header-stub>
<gl-dropdown-divider-stub /> <gl-dropdown-divider-stub />
...@@ -71,26 +64,25 @@ exports[`Dashboard template matches the default snapshot 1`] = ` ...@@ -71,26 +64,25 @@ exports[`Dashboard template matches the default snapshot 1`] = `
</div> </div>
</div> </div>
</gl-dropdown-stub> </gl-dropdown-stub>
</gl-form-group-stub> </div>
<gl-form-group-stub <div
class="col-sm-auto col-md-auto col-lg-auto" class="mb-2 pr-2 d-flex d-sm-block"
data-qa-selector="show_last_dropdown"
label="Show last"
label-for="monitor-time-window-dropdown"
label-size="sm"
> >
<date-time-picker-stub <date-time-picker-stub
class="flex-grow-1 show-last-dropdown"
customenabled="true" customenabled="true"
data-qa-selector="show_last_dropdown"
options="[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]" options="[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]"
value="[object Object]" value="[object Object]"
/> />
</gl-form-group-stub> </div>
<gl-form-group-stub <div
class="col-sm-2 col-md-2 col-lg-1 refresh-dashboard-button" class="mb-2 pr-2 d-flex d-sm-block"
> >
<gl-deprecated-button-stub <gl-deprecated-button-stub
class="flex-grow-1"
size="md" size="md"
title="Refresh dashboard" title="Refresh dashboard"
variant="default" variant="default"
...@@ -100,7 +92,20 @@ exports[`Dashboard template matches the default snapshot 1`] = ` ...@@ -100,7 +92,20 @@ exports[`Dashboard template matches the default snapshot 1`] = `
size="16" size="16"
/> />
</gl-deprecated-button-stub> </gl-deprecated-button-stub>
</gl-form-group-stub> </div>
<div
class="flex-grow-1"
/>
<div
class="d-sm-flex"
>
<!---->
<!---->
<!---->
<!----> <!---->
</div> </div>
......
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