2018-10-08 09:05:37 -05:00
|
|
|
import React, { PureComponent } from 'react';
|
|
|
|
import { connect } from 'react-redux';
|
2018-10-09 04:07:23 -05:00
|
|
|
import SlideDown from '../../core/components/Animations/SlideDown';
|
|
|
|
import AddPermissions from '../../core/components/PermissionList/AddPermission';
|
|
|
|
import { AclTarget, AclTargetInfo } from 'app/types/acl';
|
2018-10-08 09:05:37 -05:00
|
|
|
|
|
|
|
export interface Props {}
|
|
|
|
|
2018-10-09 04:07:23 -05:00
|
|
|
interface State {
|
|
|
|
isAdding: boolean;
|
|
|
|
}
|
|
|
|
|
|
|
|
export class DataSourcePermissions extends PureComponent<Props, State> {
|
|
|
|
state = {
|
|
|
|
isAdding: false,
|
|
|
|
};
|
|
|
|
|
|
|
|
onOpenAddPermissions = () => {
|
|
|
|
this.setState({
|
|
|
|
isAdding: true,
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
onAddPermission = () => {};
|
|
|
|
|
|
|
|
onCancelAddPermission = () => {
|
|
|
|
this.setState({
|
|
|
|
isAdding: false,
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2018-10-08 09:05:37 -05:00
|
|
|
render() {
|
2018-10-09 04:07:23 -05:00
|
|
|
const { isAdding } = this.state;
|
|
|
|
|
|
|
|
const dashboardAclTargets: AclTargetInfo[] = [
|
|
|
|
{ value: AclTarget.Team, text: 'Team' },
|
|
|
|
{ value: AclTarget.User, text: 'User' },
|
|
|
|
];
|
|
|
|
|
2018-10-08 09:05:37 -05:00
|
|
|
return (
|
|
|
|
<div>
|
2018-10-09 04:07:23 -05:00
|
|
|
<div className="page-action-bar">
|
|
|
|
<h3 className="page-sub-heading">Permissions</h3>
|
|
|
|
<div className="page-action-bar__spacer" />
|
|
|
|
<button className="btn btn-success pull-right" onClick={this.onOpenAddPermissions} disabled={isAdding}>
|
|
|
|
<i className="fa fa-plus" /> Add Permission
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<SlideDown in={isAdding}>
|
|
|
|
<AddPermissions
|
|
|
|
dashboardAclTargets={dashboardAclTargets}
|
|
|
|
showPermissionLevels={false}
|
|
|
|
onAddPermission={this.onAddPermission}
|
|
|
|
onCancel={this.onCancelAddPermission}
|
|
|
|
/>
|
|
|
|
</SlideDown>
|
2018-10-08 09:05:37 -05:00
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function mapStateToProps(state) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
export default connect(mapStateToProps)(DataSourcePermissions);
|