diff --git a/public/app/core/components/Permissions/Permissions.tsx b/public/app/core/components/Permissions/Permissions.tsx index 067fca20aa0..5d32ce5b08a 100644 --- a/public/app/core/components/Permissions/Permissions.tsx +++ b/public/app/core/components/Permissions/Permissions.tsx @@ -3,6 +3,7 @@ import PermissionsList from './PermissionsList'; import { observer } from 'mobx-react'; import UserPicker, { User } from 'app/core/components/Picker/UserPicker'; import TeamPicker, { Team } from 'app/core/components/Picker/TeamPicker'; +import { aclTypes } from 'app/stores/PermissionsStore/PermissionsStore'; export interface DashboardAcl { id?: number; @@ -31,22 +32,6 @@ export interface IProps { @observer class Permissions extends Component { - dashboardId: any; - meta: any; - items: DashboardAcl[]; - dummyItems: DashboardAcl[]; - permissionOptions = [{ value: 1, text: 'View' }, { value: 2, text: 'Edit' }, { value: 4, text: 'Admin' }]; - aclTypes = [ - { value: 'Group', text: 'Team' }, - { value: 'User', text: 'User' }, - { value: 'Viewer', text: 'Everyone With Viewer Role' }, - { value: 'Editor', text: 'Everyone With Editor Role' }, - ]; - newType: string; - canUpdate: boolean; - error: string; - refreshList: any; - constructor(props) { super(props); const { dashboardId, permissions, isFolder } = this.props; @@ -57,10 +42,6 @@ class Permissions extends Component { this.userPicked = this.userPicked.bind(this); this.teamPicked = this.teamPicked.bind(this); permissions.load(dashboardId, isFolder); - - this.state = { - newType: 'Group', - }; } permissionChanged(index: number, permission: number, permissionName: string) { @@ -79,12 +60,8 @@ class Permissions extends Component { } resetNewType() { - this.setState(prevState => { - return { - ...prevState, - newType: 'Group', - }; - }); + const { permissions } = this.props; + permissions.resetNewType(); } typeChanged(evt) { @@ -97,12 +74,7 @@ class Permissions extends Component { return; } - this.setState(prevState => { - return { - ...prevState, - newType: value, - }; - }); + permissions.setNewType(value); } userPicked(user: User) { @@ -116,15 +88,12 @@ class Permissions extends Component { } render() { - console.log('Permissions render'); const { permissions, backendSrv } = this.props; - const { newType } = this.state; return (
{
- + {aclTypes.map((option, idx) => { return (
- {newType === 'User' ? ( + {permissions.newType === 'User' ? (
) : null} - {newType === 'Group' ? ( + {permissions.newType === 'Group' ? (
diff --git a/public/app/core/components/Permissions/PermissionsList.tsx b/public/app/core/components/Permissions/PermissionsList.tsx index 21fa6778458..372921d1b1c 100644 --- a/public/app/core/components/Permissions/PermissionsList.tsx +++ b/public/app/core/components/Permissions/PermissionsList.tsx @@ -4,7 +4,6 @@ import { observer } from 'mobx-react'; export interface IProps { permissions: any[]; - permissionsOptions: any[]; removeItem: any; permissionChanged: any; fetching: boolean; @@ -13,7 +12,7 @@ export interface IProps { @observer class PermissionsList extends Component { render() { - const { permissions, permissionsOptions, removeItem, permissionChanged, fetching } = this.props; + const { permissions, removeItem, permissionChanged, fetching } = this.props; return ( @@ -24,7 +23,6 @@ class PermissionsList extends Component { key={idx} item={item} itemIndex={idx} - permissionsOptions={permissionsOptions} removeItem={removeItem} permissionChanged={permissionChanged} /> diff --git a/public/app/core/components/Permissions/PermissionsListItem.tsx b/public/app/core/components/Permissions/PermissionsListItem.tsx index d5c1e7b4b04..0de296b8d8a 100644 --- a/public/app/core/components/Permissions/PermissionsListItem.tsx +++ b/public/app/core/components/Permissions/PermissionsListItem.tsx @@ -1,11 +1,12 @@ import React from 'react'; import { observer } from 'mobx-react'; +import { permissionOptions } from 'app/stores/PermissionsStore/PermissionsStore'; const setClassNameHelper = inherited => { return inherited ? 'gf-form-disabled' : ''; }; -export default observer(({ item, permissionsOptions, removeItem, permissionChanged, itemIndex }) => { +export default observer(({ item, removeItem, permissionChanged, itemIndex }) => { const handleRemoveItem = evt => { evt.preventDefault(); removeItem(itemIndex); @@ -15,7 +16,7 @@ export default observer(({ item, permissionsOptions, removeItem, permissionChang evt.preventDefault(); const value = evt.target.value; const valueAsInt = parseInt(value, 10); - const newPermission = permissionsOptions.find(opt => opt.value === valueAsInt); + const newPermission = permissionOptions.find(opt => opt.value === valueAsInt); permissionChanged(itemIndex, newPermission.value, newPermission.text); }; @@ -36,7 +37,7 @@ export default observer(({ item, permissionsOptions, removeItem, permissionChang onChange={handleChangePermission} disabled={item.inherited} > - {permissionsOptions.map((option, idx) => { + {permissionOptions.map((option, idx) => { return (