Disable temp var dropdowns for viewers when auth enabled
parent
aa9c02b06b
commit
50b6f38f19
|
@ -12,6 +12,8 @@ interface Props {
|
||||||
isOpen: boolean
|
isOpen: boolean
|
||||||
onOpenTemplateManager: () => void
|
onOpenTemplateManager: () => void
|
||||||
onSelectTemplate: (id: string) => void
|
onSelectTemplate: (id: string) => void
|
||||||
|
meRole: string
|
||||||
|
isUsingAuth: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
const TemplateControlBar: SFC<Props> = ({
|
const TemplateControlBar: SFC<Props> = ({
|
||||||
|
@ -19,6 +21,8 @@ const TemplateControlBar: SFC<Props> = ({
|
||||||
templates,
|
templates,
|
||||||
onSelectTemplate,
|
onSelectTemplate,
|
||||||
onOpenTemplateManager,
|
onOpenTemplateManager,
|
||||||
|
meRole,
|
||||||
|
isUsingAuth,
|
||||||
}) => (
|
}) => (
|
||||||
<div className={classnames('template-control-bar', {show: isOpen})}>
|
<div className={classnames('template-control-bar', {show: isOpen})}>
|
||||||
<div className="template-control--container">
|
<div className="template-control--container">
|
||||||
|
@ -27,6 +31,8 @@ const TemplateControlBar: SFC<Props> = ({
|
||||||
templates.map(template => (
|
templates.map(template => (
|
||||||
<TemplateControlDropdown
|
<TemplateControlDropdown
|
||||||
key={uuid.v4()}
|
key={uuid.v4()}
|
||||||
|
meRole={meRole}
|
||||||
|
isUsingAuth={isUsingAuth}
|
||||||
template={template}
|
template={template}
|
||||||
onSelectTemplate={onSelectTemplate}
|
onSelectTemplate={onSelectTemplate}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -4,8 +4,11 @@ import Dropdown from 'src/shared/components/Dropdown'
|
||||||
import {calculateDropdownWidth} from 'src/dashboards/constants/templateControlBar'
|
import {calculateDropdownWidth} from 'src/dashboards/constants/templateControlBar'
|
||||||
import {Template} from 'src/types/dashboard'
|
import {Template} from 'src/types/dashboard'
|
||||||
|
|
||||||
|
export const VIEWER_ROLE = 'viewer'
|
||||||
interface Props {
|
interface Props {
|
||||||
template: Template
|
template: Template
|
||||||
|
meRole: string
|
||||||
|
isUsingAuth: boolean
|
||||||
onSelectTemplate: (id: string) => void
|
onSelectTemplate: (id: string) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +16,12 @@ interface Props {
|
||||||
// the full array, and [item] to all `selected` values when we update
|
// the full array, and [item] to all `selected` values when we update
|
||||||
// this component to support multiple values
|
// this component to support multiple values
|
||||||
|
|
||||||
const TemplateControlDropdown: SFC<Props> = ({template, onSelectTemplate}) => {
|
const TemplateControlDropdown: SFC<Props> = ({
|
||||||
|
template,
|
||||||
|
onSelectTemplate,
|
||||||
|
isUsingAuth,
|
||||||
|
meRole,
|
||||||
|
}) => {
|
||||||
const dropdownItems = template.values.map(value => ({
|
const dropdownItems = template.values.map(value => ({
|
||||||
...value,
|
...value,
|
||||||
text: value.value,
|
text: value.value,
|
||||||
|
@ -34,6 +42,7 @@ const TemplateControlDropdown: SFC<Props> = ({template, onSelectTemplate}) => {
|
||||||
menuClass="dropdown-astronaut"
|
menuClass="dropdown-astronaut"
|
||||||
useAutoComplete={true}
|
useAutoComplete={true}
|
||||||
selected={selectedItem.text}
|
selected={selectedItem.text}
|
||||||
|
disabled={isUsingAuth && (!meRole || meRole === VIEWER_ROLE)}
|
||||||
onChoose={onSelectTemplate(template.id)}
|
onChoose={onSelectTemplate(template.id)}
|
||||||
/>
|
/>
|
||||||
<label className="template-control--label">{template.tempVar}</label>
|
<label className="template-control--label">{template.tempVar}</label>
|
||||||
|
|
|
@ -305,6 +305,8 @@ class DashboardPage extends Component {
|
||||||
const {zoomedTimeRange} = this.state
|
const {zoomedTimeRange} = this.state
|
||||||
const {zoomedLower, zoomedUpper} = zoomedTimeRange
|
const {zoomedLower, zoomedUpper} = zoomedTimeRange
|
||||||
const {
|
const {
|
||||||
|
isUsingAuth,
|
||||||
|
meRole,
|
||||||
source,
|
source,
|
||||||
sources,
|
sources,
|
||||||
timeRange,
|
timeRange,
|
||||||
|
@ -426,6 +428,8 @@ class DashboardPage extends Component {
|
||||||
{inPresentationMode || (
|
{inPresentationMode || (
|
||||||
<TemplateControlBar
|
<TemplateControlBar
|
||||||
templates={dashboard && dashboard.templates}
|
templates={dashboard && dashboard.templates}
|
||||||
|
meRole={meRole}
|
||||||
|
isUsingAuth={isUsingAuth}
|
||||||
onSelectTemplate={this.handleSelectTemplate}
|
onSelectTemplate={this.handleSelectTemplate}
|
||||||
onOpenTemplateManager={this.handleOpenTemplateManager}
|
onOpenTemplateManager={this.handleOpenTemplateManager}
|
||||||
isOpen={showTemplateControlBar}
|
isOpen={showTemplateControlBar}
|
||||||
|
|
Loading…
Reference in New Issue