render drag handle only in edit mode

This commit is contained in:
praveensastry 2018-10-09 13:40:17 +11:00
parent c1fd2e5534
commit b74e76298f
2 changed files with 8 additions and 1 deletions

View File

@ -87,6 +87,7 @@ export class DashboardRow extends React.Component<DashboardRowProps, any> {
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';
const editModeEnabled = this.dashboard.meta.canEdit === true;
return (
<div className={classes}>
@ -112,7 +113,7 @@ export class DashboardRow extends React.Component<DashboardRowProps, any> {
&nbsp;
</div>
)}
<div className="dashboard-row__drag grid-drag-handle" />
{editModeEnabled && <div className="dashboard-row__drag grid-drag-handle" />}
</div>
);
}

View File

@ -39,6 +39,12 @@ describe('DashboardRow', () => {
expect(wrapper.find('.dashboard-row__actions .pointer')).toHaveLength(2);
});
it('should not show row drag handle when cannot edit', () => {
dashboardMock.meta.canEdit = false;
wrapper = shallow(<DashboardRow panel={panel} getPanelContainer={getPanelContainer} />);
expect(wrapper.find('.dashboard-row__drag')).toHaveLength(0);
});
it('should have zero actions when cannot edit', () => {
dashboardMock.meta.canEdit = false;
panel = new PanelModel({ collapsed: false });