|
|
@ -187,8 +187,8 @@ export function getPanelMenu( |
|
|
|
|
|
|
|
|
|
|
|
const subMenu: PanelMenuItem[] = []; |
|
|
|
const subMenu: PanelMenuItem[] = []; |
|
|
|
const canEdit = dashboard.canEditPanel(panel); |
|
|
|
const canEdit = dashboard.canEditPanel(panel); |
|
|
|
|
|
|
|
if (!(panel.isViewing || panel.isEditing)) { |
|
|
|
if (canEdit && !(panel.isViewing || panel.isEditing)) { |
|
|
|
if (canEdit) { |
|
|
|
subMenu.push({ |
|
|
|
subMenu.push({ |
|
|
|
text: t('panel.header-menu.duplicate', `Duplicate`), |
|
|
|
text: t('panel.header-menu.duplicate', `Duplicate`), |
|
|
|
onClick: onDuplicatePanel, |
|
|
|
onClick: onDuplicatePanel, |
|
|
@ -211,6 +211,13 @@ export function getPanelMenu( |
|
|
|
onClick: onAddLibraryPanel, |
|
|
|
onClick: onAddLibraryPanel, |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} else if (contextSrv.isEditor) { |
|
|
|
|
|
|
|
// An editor but the dashboard is not editable
|
|
|
|
|
|
|
|
subMenu.push({ |
|
|
|
|
|
|
|
text: t('panel.header-menu.copy', `Copy`), |
|
|
|
|
|
|
|
onClick: onCopyPanel, |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// add old angular panel options
|
|
|
|
// add old angular panel options
|
|
|
|