From 17a2ce13f008000d331d1a1528a1bcd8ba6a1c98 Mon Sep 17 00:00:00 2001 From: Ryan McKinley Date: Wed, 6 Jun 2018 21:58:42 -0700 Subject: [PATCH] nicer collapsed row behaviour (#12186) * nicer collapsed row behavior * don't block events * use a div to toggle * use singular name --- .../features/dashboard/dashgrid/DashboardRow.tsx | 14 +++++++++++--- public/sass/components/_row.scss | 16 ++++++++++++---- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/public/app/features/dashboard/dashgrid/DashboardRow.tsx b/public/app/features/dashboard/dashgrid/DashboardRow.tsx index b133d4450bb..74630ac8f47 100644 --- a/public/app/features/dashboard/dashgrid/DashboardRow.tsx +++ b/public/app/features/dashboard/dashgrid/DashboardRow.tsx @@ -84,15 +84,18 @@ export class DashboardRow extends React.Component { 'fa-chevron-right': this.state.collapsed, }); - let title = templateSrv.replaceWithText(this.props.panel.title, this.props.panel.scopedVars); - const hiddenPanels = this.props.panel.panels ? this.props.panel.panels.length : 0; + const title = templateSrv.replaceWithText(this.props.panel.title, this.props.panel.scopedVars); + const count = this.props.panel.panels ? this.props.panel.panels.length : 0; + const panels = count === 1 ? 'panel' : 'panels'; return (
{title} - ({hiddenPanels} hidden panels) + + ({count} {panels}) + {this.dashboard.meta.canEdit === true && (
@@ -104,6 +107,11 @@ export class DashboardRow extends React.Component {
)} + {this.state.collapsed === true && ( +
+   +
+ )}
); diff --git a/public/sass/components/_row.scss b/public/sass/components/_row.scss index 3c1465a30bc..f2454a145de 100644 --- a/public/sass/components/_row.scss +++ b/public/sass/components/_row.scss @@ -11,11 +11,20 @@ display: inline-block; } - .dashboard-row__drag, - .dashboard-row__actions { + .dashboard-row__drag { visibility: visible; opacity: 1; } + + .dashboard-row__actions { + visibility: hidden; + } + + .dashboard-row__toggle-target { + flex: 1; + cursor: pointer; + margin-right: 15px; + } } &:hover { @@ -43,7 +52,6 @@ color: $text-muted; visibility: hidden; opacity: 0; - flex-grow: 1; transition: 200ms opacity ease-in 200ms; a { @@ -69,7 +77,7 @@ cursor: move; width: 1rem; height: 100%; - background: url("../img/grab_dark.svg") no-repeat 50% 50%; + background: url('../img/grab_dark.svg') no-repeat 50% 50%; background-size: 8px; visibility: hidden; position: absolute;