DataSourcePermissions.tsx 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import React, { PureComponent } from 'react';
  2. import { connect } from 'react-redux';
  3. import SlideDown from '../../core/components/Animations/SlideDown';
  4. import AddPermissions from '../../core/components/PermissionList/AddPermission';
  5. import { AclTarget, AclTargetInfo } from 'app/types/acl';
  6. export interface Props {}
  7. interface State {
  8. isAdding: boolean;
  9. }
  10. export class DataSourcePermissions extends PureComponent<Props, State> {
  11. state = {
  12. isAdding: false,
  13. };
  14. onOpenAddPermissions = () => {
  15. this.setState({
  16. isAdding: true,
  17. });
  18. };
  19. onAddPermission = () => {};
  20. onCancelAddPermission = () => {
  21. this.setState({
  22. isAdding: false,
  23. });
  24. };
  25. render() {
  26. const { isAdding } = this.state;
  27. const dashboardAclTargets: AclTargetInfo[] = [
  28. { value: AclTarget.Team, text: 'Team' },
  29. { value: AclTarget.User, text: 'User' },
  30. ];
  31. return (
  32. <div>
  33. <div className="page-action-bar">
  34. <h3 className="page-sub-heading">Permissions</h3>
  35. <div className="page-action-bar__spacer" />
  36. <button className="btn btn-success pull-right" onClick={this.onOpenAddPermissions} disabled={isAdding}>
  37. <i className="fa fa-plus" /> Add Permission
  38. </button>
  39. </div>
  40. <SlideDown in={isAdding}>
  41. <AddPermissions
  42. dashboardAclTargets={dashboardAclTargets}
  43. showPermissionLevels={false}
  44. onAddPermission={this.onAddPermission}
  45. onCancel={this.onCancelAddPermission}
  46. />
  47. </SlideDown>
  48. </div>
  49. );
  50. }
  51. }
  52. function mapStateToProps(state) {
  53. return {};
  54. }
  55. export default connect(mapStateToProps)(DataSourcePermissions);