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 Props { permissions: any; } @observer class AddPermissions extends Component { constructor(props) { super(props); } componentWillMount() { const { permissions } = this.props; permissions.resetNewType(); } onTypeChanged = evt => { const { value } = evt.target; const { permissions } = this.props; permissions.setNewType(value); }; onUserSelected = (user: User) => { const { permissions } = this.props; if (!user) { permissions.newItem.setUser(null, null); return; } return permissions.newItem.setUser(user.id, user.login, user.avatarUrl); }; onTeamSelected = (team: Team) => { const { permissions } = this.props; if (!team) { permissions.newItem.setTeam(null, null); return; } return permissions.newItem.setTeam(team.id, team.name, team.avatarUrl); }; onPermissionChanged = (permission: OptionWithDescription) => { const { permissions } = this.props; return permissions.newItem.setPermission(permission.value); }; resetNewType() { const { permissions } = this.props; return permissions.resetNewType(); } onSubmit = evt => { evt.preventDefault(); const { permissions } = this.props; permissions.addStoreItem(); }; render() { const { permissions } = 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}
); } } export default AddPermissions;