From 363592a97b6fe0586651fa09966b3b0e823524ae Mon Sep 17 00:00:00 2001 From: Peter Holmberg Date: Tue, 9 Oct 2018 16:53:59 +0200 Subject: [PATCH] pausing permissions list --- .../datasources/AddDataSourcePermissions.tsx | 7 +- .../datasources/DataSourcePermissions.tsx | 9 +- .../datasources/DataSourcePermissionsList.tsx | 84 +++++++++++++++++++ public/app/types/acl.ts | 4 + 4 files changed, 92 insertions(+), 12 deletions(-) create mode 100644 public/app/features/datasources/DataSourcePermissionsList.tsx diff --git a/public/app/features/datasources/AddDataSourcePermissions.tsx b/public/app/features/datasources/AddDataSourcePermissions.tsx index 42277f761aa..702175728db 100644 --- a/public/app/features/datasources/AddDataSourcePermissions.tsx +++ b/public/app/features/datasources/AddDataSourcePermissions.tsx @@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; import { UserPicker } from 'app/core/components/Picker/UserPicker'; import { Team, TeamPicker } from 'app/core/components/Picker/TeamPicker'; import DescriptionPicker, { OptionWithDescription } from 'app/core/components/Picker/DescriptionPicker'; -import { AclTarget, DataSourcePermissionLevel } from 'app/types/acl'; +import { dataSourceAclLevels, AclTarget, DataSourcePermissionLevel } from 'app/types/acl'; import { User } from 'app/types'; export interface Props { @@ -68,9 +68,6 @@ export class AddDataSourcePermissions extends PureComponent { const pickerClassName = 'width-20'; const aclTargets = [{ value: AclTarget.Team, text: 'Team' }, { value: AclTarget.User, text: 'User' }]; - const permissionLevels = [ - { value: DataSourcePermissionLevel.Query, label: 'Query', description: 'Can query data source.' }, - ]; return (
@@ -106,7 +103,7 @@ export class AddDataSourcePermissions extends PureComponent { )}
{ onCancel={this.onCancelAddPermission} /> - {}} - isFetching={false} - /> + this.onRemovePermission(item)} />
); } diff --git a/public/app/features/datasources/DataSourcePermissionsList.tsx b/public/app/features/datasources/DataSourcePermissionsList.tsx new file mode 100644 index 00000000000..e2064db05c6 --- /dev/null +++ b/public/app/features/datasources/DataSourcePermissionsList.tsx @@ -0,0 +1,84 @@ +import React, { PureComponent } from 'react'; +import { DataSourcePermission } from '../../types'; +import { dataSourceAclLevels, DataSourcePermissionLevel } from '../../types/acl'; +import DescriptionPicker from '../../core/components/Picker/DescriptionPicker'; + +interface Props { + items: DataSourcePermission[]; + onRemoveItem: (item) => void; +} + +export class DataSourcePermissionsList extends PureComponent { + render() { + const { items } = this.props; + const permissionLevels = dataSourceAclLevels; + permissionLevels.push({ value: DataSourcePermissionLevel.Admin, label: 'Admin', description: '' }); + + return ( + + + + + + + + + + {items.map((item, index) => { + return ( + + + + + + + + ); + })} + +
+ + + Admin + (Role) + + Can +
+ {}} + value={2} + disabled={true} + className={'gf-form-input--form-dropdown-right'} + /> +
+
+ +
+ + + {} + (Role) + + Can +
+ {}} + value={2} + disabled={true} + className={'gf-form-input--form-dropdown-right'} + /> +
+
+ +
+ ); + } +} + +export default DataSourcePermissionsList; diff --git a/public/app/types/acl.ts b/public/app/types/acl.ts index 3580b72769b..21f7bdac2d4 100644 --- a/public/app/types/acl.ts +++ b/public/app/types/acl.ts @@ -78,6 +78,10 @@ export interface AclTargetInfo { text: string; } +export const dataSourceAclLevels = [ + { value: DataSourcePermissionLevel.Query, label: 'Query', description: 'Can query data source.' }, +]; + export const dashboardAclTargets: AclTargetInfo[] = [ { value: AclTarget.Team, text: 'Team' }, { value: AclTarget.User, text: 'User' },