mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
scrollbar: use native scroll for page
This commit is contained in:
parent
63dab4ffe4
commit
25ec7b5b02
37
public/app/core/components/scroll/page_scroll.ts
Normal file
37
public/app/core/components/scroll/page_scroll.ts
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import coreModule from 'app/core/core_module';
|
||||||
|
import appEvents from 'app/core/app_events';
|
||||||
|
|
||||||
|
export function pageScrollbar() {
|
||||||
|
return {
|
||||||
|
restrict: 'A',
|
||||||
|
link: function(scope, elem, attrs) {
|
||||||
|
let lastPos = 0;
|
||||||
|
|
||||||
|
appEvents.on(
|
||||||
|
'dash-scroll',
|
||||||
|
evt => {
|
||||||
|
if (evt.restore) {
|
||||||
|
elem[0].scrollTop = lastPos;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
lastPos = elem[0].scrollTop;
|
||||||
|
|
||||||
|
if (evt.animate) {
|
||||||
|
elem.animate({ scrollTop: evt.pos }, 500);
|
||||||
|
} else {
|
||||||
|
elem[0].scrollTop = evt.pos;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scope
|
||||||
|
);
|
||||||
|
|
||||||
|
scope.$on('$routeChangeSuccess', () => {
|
||||||
|
lastPos = 0;
|
||||||
|
elem[0].scrollTop = 0;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
coreModule.directive('pageScrollbar', pageScrollbar);
|
@ -47,6 +47,7 @@ import { NavModelSrv, NavModel } from './nav_model_srv';
|
|||||||
import { userPicker } from './components/user_picker';
|
import { userPicker } from './components/user_picker';
|
||||||
import { teamPicker } from './components/team_picker';
|
import { teamPicker } from './components/team_picker';
|
||||||
import { geminiScrollbar } from './components/scroll/scroll';
|
import { geminiScrollbar } from './components/scroll/scroll';
|
||||||
|
import { pageScrollbar } from './components/scroll/page_scroll';
|
||||||
import { gfPageDirective } from './components/gf_page';
|
import { gfPageDirective } from './components/gf_page';
|
||||||
import { orgSwitcher } from './components/org_switcher';
|
import { orgSwitcher } from './components/org_switcher';
|
||||||
import { profiler } from './profiler';
|
import { profiler } from './profiler';
|
||||||
@ -85,6 +86,7 @@ export {
|
|||||||
userPicker,
|
userPicker,
|
||||||
teamPicker,
|
teamPicker,
|
||||||
geminiScrollbar,
|
geminiScrollbar,
|
||||||
|
pageScrollbar,
|
||||||
gfPageDirective,
|
gfPageDirective,
|
||||||
orgSwitcher,
|
orgSwitcher,
|
||||||
manageDashboardsDirective,
|
manageDashboardsDirective,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<div dash-class ng-if="ctrl.dashboard">
|
<div dash-class ng-if="ctrl.dashboard">
|
||||||
<dashnav dashboard="ctrl.dashboard"></dashnav>
|
<dashnav dashboard="ctrl.dashboard"></dashnav>
|
||||||
|
|
||||||
<div class="scroll-canvas scroll-canvas--dashboard">
|
<div class="scroll-canvas scroll-canvas--dashboard" page-scrollbar>
|
||||||
<div grafana-scrollbar>
|
<div>
|
||||||
<dashboard-settings dashboard="ctrl.dashboard"
|
<dashboard-settings dashboard="ctrl.dashboard"
|
||||||
ng-if="ctrl.dashboardViewState.state.editview"
|
ng-if="ctrl.dashboardViewState.state.editview"
|
||||||
class="dashboard-settings">
|
class="dashboard-settings">
|
||||||
|
@ -74,6 +74,7 @@
|
|||||||
|
|
||||||
.graph-legend-scroll {
|
.graph-legend-scroll {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
overflow: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.graph-legend-icon {
|
.graph-legend-icon {
|
||||||
|
@ -106,22 +106,16 @@
|
|||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Srollbars
|
// Scrollbars
|
||||||
//
|
//
|
||||||
|
|
||||||
// ::-webkit-scrollbar {
|
|
||||||
// width: 8px;
|
|
||||||
// height: 8px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// ::-webkit-scrollbar:hover {
|
|
||||||
// height: 8px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
// Hide system scrollbar (Mac OS X)
|
width: 8px;
|
||||||
width: 0;
|
height: 8px;
|
||||||
height: 0;
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar:hover {
|
||||||
|
height: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-button:start:decrement,
|
::-webkit-scrollbar-button:start:decrement,
|
||||||
|
@ -40,8 +40,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="main-view">
|
<div class="main-view">
|
||||||
<!-- Not sure do we really need grafana-scrollbar here? -->
|
<div class="scroll-canvas">
|
||||||
<div class="scroll-canvas" grafana-scrollbar>
|
|
||||||
<div ng-view></div>
|
<div ng-view></div>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
|
Loading…
Reference in New Issue
Block a user