Procházet zdrojové kódy

dashfolders: add disabled Admin permission to list

This is a fake entry that is used to signal to the user that an Admin
user always has Admin rights and they cannot be removed.
Daniel Lee před 8 roky
rodič
revize
83548f98b9

+ 41 - 0
public/app/core/components/Permissions/DisabledPermissionsListItem.tsx

@@ -0,0 +1,41 @@
+import React, { Component } from 'react';
+import { permissionOptions } from 'app/stores/PermissionsStore/PermissionsStore';
+
+export interface IProps {
+  item: any;
+}
+
+export default class DisabledPermissionListItem extends Component<IProps, any> {
+  render() {
+    const { item } = this.props;
+
+    return (
+      <tr className="gf-form-disabled">
+        <td style={{ width: '100%' }}>
+          <i className={item.icon} />
+          <span dangerouslySetInnerHTML={{ __html: item.nameHtml }} />
+        </td>
+        <td />
+        <td className="query-keyword">Can</td>
+        <td>
+          <div className="gf-form-select-wrapper">
+            <select value={item.permission} className="gf-form-input gf-size-auto" disabled={true}>
+              {permissionOptions.map((option, idx) => {
+                return (
+                  <option key={idx} value={option.value}>
+                    {option.text}
+                  </option>
+                );
+              })}
+            </select>
+          </div>
+        </td>
+        <td>
+          <button className="btn btn-inverse btn-small">
+            <i className="fa fa-lock" />
+          </button>
+        </td>
+      </tr>
+    );
+  }
+}

+ 10 - 1
public/app/core/components/Permissions/PermissionsList.tsx

@@ -1,5 +1,6 @@
 import React, { Component } from 'react';
 import React, { Component } from 'react';
 import PermissionsListItem from './PermissionsListItem';
 import PermissionsListItem from './PermissionsListItem';
+import DisabledPermissionsListItem from './DisabledPermissionsListItem';
 import { observer } from 'mobx-react';
 import { observer } from 'mobx-react';
 
 
 export interface IProps {
 export interface IProps {
@@ -17,10 +18,18 @@ class PermissionsList extends Component<IProps, any> {
     return (
     return (
       <table className="filter-table gf-form-group">
       <table className="filter-table gf-form-group">
         <tbody>
         <tbody>
+          <DisabledPermissionsListItem
+            key={0}
+            item={{
+              nameHtml: 'Everyone with <span class="query-keyword">Admin</span> Role',
+              permission: 4,
+              icon: 'fa fa-fw fa-street-view',
+            }}
+          />
           {permissions.map((item, idx) => {
           {permissions.map((item, idx) => {
             return (
             return (
               <PermissionsListItem
               <PermissionsListItem
-                key={idx}
+                key={idx + 1}
                 item={item}
                 item={item}
                 itemIndex={idx}
                 itemIndex={idx}
                 removeItem={removeItem}
                 removeItem={removeItem}

+ 0 - 1
public/app/stores/PermissionsStore/PermissionsStore.jest.ts

@@ -26,7 +26,6 @@ describe('PermissionsStore', () => {
     store = PermissionsStore.create(
     store = PermissionsStore.create(
       {
       {
         fetching: false,
         fetching: false,
-        canUpdate: false,
         items: [],
         items: [],
       },
       },
       {
       {