import React, { Component } from 'react'; import { observer } from 'mobx-react'; import { aclTypes } from 'app/stores/PermissionsStore/PermissionsStore'; import UserPicker, { User } from 'app/core/components/Picker/UserPicker'; import TeamPicker, { Team } from 'app/core/components/Picker/TeamPicker'; import DescriptionPicker, { OptionWithDescription } from 'app/core/components/Picker/DescriptionPicker'; import { permissionOptions } from 'app/stores/PermissionsStore/PermissionsStore'; export interface IProps { permissions: any; backendSrv: any; } @observer class AddPermissions extends Component { constructor(props) { super(props); this.userPicked = this.userPicked.bind(this); this.teamPicked = this.teamPicked.bind(this); this.permissionPicked = this.permissionPicked.bind(this); this.typeChanged = this.typeChanged.bind(this); this.handleSubmit = this.handleSubmit.bind(this); } componentWillMount() { const { permissions } = this.props; permissions.resetNewType(); } typeChanged(evt) { const { value } = evt.target; const { permissions } = this.props; permissions.setNewType(value); } userPicked(user: User) { const { permissions } = this.props; if (!user) { permissions.newItem.setUser(null, null); return; } return permissions.newItem.setUser(user.id, user.login); } teamPicked(team: Team) { const { permissions } = this.props; if (!team) { permissions.newItem.setTeam(null, null); return; } return permissions.newItem.setTeam(team.id, team.name); } permissionPicked(permission: OptionWithDescription) { const { permissions } = this.props; return permissions.newItem.setPermission(permission.value); } resetNewType() { const { permissions } = this.props; return permissions.resetNewType(); } handleSubmit(evt) { evt.preventDefault(); const { permissions } = this.props; permissions.addStoreItem(); } render() { const { permissions, backendSrv } = this.props; const newItem = permissions.newItem; const pickerClassName = 'width-20'; const isValid = newItem.isValid(); return (
Add Permission For
{newItem.type === 'User' ? (
) : null} {newItem.type === 'Group' ? (
) : null}
{permissions.error ? (
{permissions.error}
) : null}
); } } export default AddPermissions;