dashfolders: Working user picker on the dashboard permissions page #10275

This commit is contained in:
Johannes Schill
2018-01-17 16:13:45 +01:00
committed by Daniel Lee
parent 2de0489868
commit 6b9858c1d3
4 changed files with 26 additions and 29 deletions

View File

@@ -1,9 +1,8 @@
import React, { Component } from 'react';
import PermissionsList from './PermissionsList';
import _ from 'lodash';
import DevTools from 'mobx-react-devtools';
import { inject, observer } from 'mobx-react';
// import UserPicker from 'app/core/components/UserPicker/UserPicker';
import UserPicker, { User } from 'app/core/components/UserPicker/UserPicker';
export interface DashboardAcl {
id?: number;
@@ -29,6 +28,7 @@ export interface IProps {
dashboardId: number;
permissions?: any;
isFolder: boolean;
backendSrv: any;
}
@inject('permissions')
@@ -49,6 +49,7 @@ class Permissions extends Component<IProps, any> {
newType: string;
canUpdate: boolean;
error: string;
refreshList: any;
readonly duplicateError = 'This permission exists already.';
@@ -59,6 +60,7 @@ class Permissions extends Component<IProps, any> {
this.typeChanged = this.typeChanged.bind(this);
this.removeItem = this.removeItem.bind(this);
this.update = this.update.bind(this);
this.userPicked = this.userPicked.bind(this);
permissions.load(dashboardId, isFolder);
this.state = {
@@ -70,13 +72,8 @@ class Permissions extends Component<IProps, any> {
console.log('nextProps', nextProps);
}
sortItems(items) {
return _.orderBy(items, ['sortRank', 'sortName'], ['desc', 'asc']);
}
permissionChanged(index: number, permission: number, permissionName: string) {
const { permissions } = this.props;
// permissions.items[index].updatePermission(permission, permissionName);
permissions.updatePermissionOnIndex(index, permission, permissionName);
}
@@ -117,9 +114,14 @@ class Permissions extends Component<IProps, any> {
});
}
userPicked(user: User) {
const { permissions } = this.props;
permissions.addStoreItem({ userId: user.id, userLogin: user.login, permission: 1 });
}
render() {
console.log('Permissions render');
const { error, permissions } = this.props;
const { error, permissions, backendSrv } = this.props;
const { newType } = this.state;
return (
@@ -155,30 +157,26 @@ class Permissions extends Component<IProps, any> {
/> */}
</div>
</div>
{/*
{newType === 'User' ? (
<div className="gf-form">
{' '}
User picker
<user-picker user-picked="ctrl.userPicked($user)" />
{/* <user-picker user-picked="ctrl.userPicked($user)" />
<select-user-picker
backendSrv="ctrl.backendSrv"
teamId="ctrl.$routeParams.id"
refreshList="ctrl.get"
teamMembers="ctrl.teamMembers"
/>
<UserPicker backendSrv={backendSrv} teamId={0} />
/> */}
<UserPicker backendSrv={backendSrv} userPicked={this.userPicked} />
</div>
) : null}
{newType === 'Group' ? (
<div className="gf-form">
{' '}
Team picker
<team-picker team-picked="ctrl.groupPicked($group)" />
{/* <team-picker team-picked="ctrl.groupPicked($group)" /> */}
</div>
) : null}
*/}
</div>
</form>
{error ? (