From 8b4d59ee97908548ffff2215baf3dbe2f61d2044 Mon Sep 17 00:00:00 2001 From: chenos Date: Thu, 17 Feb 2022 01:06:42 +0800 Subject: [PATCH] feat(client): improve code --- packages/client/src/acl/ACLShortcut.tsx | 4 +- .../src/acl/Configuration/MenuConfigure.tsx | 25 ++ .../src/acl/Configuration/RoleConfigure.tsx | 37 +++ .../src/acl/Configuration/RoleTable.tsx | 11 + .../Configuration/RolesResourcesActions.tsx | 55 ++++ .../src/acl/Configuration/StrategyActions.tsx | 47 +++ .../client/src/acl/Configuration/index.tsx | 6 + .../Configuration/schemas/roleCollections.ts | 175 +++++++++++ .../src/acl/Configuration/schemas/roles.ts | 288 ++++++++++++++++++ ...llectionManagerSchemaComponentProvider.tsx | 3 +- .../Configuration/ConfigurationTable.tsx | 71 +---- .../src/collection-manager/action-hooks.ts | 69 +++++ .../antd/action/ActionBar.tsx | 2 +- .../src/collections/collections.ts | 1 + .../plugin-collection-manager/src/plugin.ts | 9 + .../src/repositories/collection-repository.ts | 2 +- 16 files changed, 730 insertions(+), 75 deletions(-) create mode 100644 packages/client/src/acl/Configuration/MenuConfigure.tsx create mode 100644 packages/client/src/acl/Configuration/RoleConfigure.tsx create mode 100644 packages/client/src/acl/Configuration/RoleTable.tsx create mode 100644 packages/client/src/acl/Configuration/RolesResourcesActions.tsx create mode 100644 packages/client/src/acl/Configuration/StrategyActions.tsx create mode 100644 packages/client/src/acl/Configuration/index.tsx create mode 100644 packages/client/src/acl/Configuration/schemas/roleCollections.ts create mode 100644 packages/client/src/acl/Configuration/schemas/roles.ts create mode 100644 packages/client/src/collection-manager/action-hooks.ts diff --git a/packages/client/src/acl/ACLShortcut.tsx b/packages/client/src/acl/ACLShortcut.tsx index 126826d48..f05a105ad 100644 --- a/packages/client/src/acl/ACLShortcut.tsx +++ b/packages/client/src/acl/ACLShortcut.tsx @@ -4,7 +4,7 @@ import { uid } from '@formily/shared'; import React, { useState } from 'react'; import { PluginManager } from '../plugin-manager'; import { ActionContext, SchemaComponent, useActionContext } from '../schema-component'; -import { RoleTable } from './RolePermissionManager'; +import * as components from './Configuration'; const useCloseAction = () => { const { setVisible } = useActionContext(); @@ -47,7 +47,7 @@ export const ACLShortcut = () => { setVisible(true); }} /> - + ); }; diff --git a/packages/client/src/acl/Configuration/MenuConfigure.tsx b/packages/client/src/acl/Configuration/MenuConfigure.tsx new file mode 100644 index 000000000..fc17699ca --- /dev/null +++ b/packages/client/src/acl/Configuration/MenuConfigure.tsx @@ -0,0 +1,25 @@ +import { Table } from 'antd'; +import React from 'react'; +import { useRoute } from '../../route-switch'; + +export const MenuConfigure = () => { + const route = useRoute(); + console.log(route); + return ( +
+ + + ); +}; diff --git a/packages/client/src/acl/Configuration/RoleConfigure.tsx b/packages/client/src/acl/Configuration/RoleConfigure.tsx new file mode 100644 index 000000000..99db7b7ab --- /dev/null +++ b/packages/client/src/acl/Configuration/RoleConfigure.tsx @@ -0,0 +1,37 @@ +import { FormLayout } from '@formily/antd'; +import React from 'react'; +import { SchemaComponent } from '../../schema-component'; + +export const RoleConfigure = () => { + return ( +
+ + + +
+ ); +}; diff --git a/packages/client/src/acl/Configuration/RoleTable.tsx b/packages/client/src/acl/Configuration/RoleTable.tsx new file mode 100644 index 000000000..f06bd1f01 --- /dev/null +++ b/packages/client/src/acl/Configuration/RoleTable.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { SchemaComponent } from '../../schema-component'; +import { roleSchema } from './schemas/roles'; + +export const RoleTable = () => { + return ( +
+ +
+ ); +}; diff --git a/packages/client/src/acl/Configuration/RolesResourcesActions.tsx b/packages/client/src/acl/Configuration/RolesResourcesActions.tsx new file mode 100644 index 000000000..ddb4aba12 --- /dev/null +++ b/packages/client/src/acl/Configuration/RolesResourcesActions.tsx @@ -0,0 +1,55 @@ +import { FormItem, FormLayout } from '@formily/antd'; +import { Checkbox, Select, Table } from 'antd'; +import React from 'react'; + +export const RolesResourcesActions = () => { + return ( +
+ + +
, + }, + { + dataIndex: 'scope', + title: '可操作的数据范围', + render: () =>
+ + + + ); +}; diff --git a/packages/client/src/acl/Configuration/StrategyActions.tsx b/packages/client/src/acl/Configuration/StrategyActions.tsx new file mode 100644 index 000000000..6d1666653 --- /dev/null +++ b/packages/client/src/acl/Configuration/StrategyActions.tsx @@ -0,0 +1,47 @@ +import { Checkbox, Select, Table } from 'antd'; +import React from 'react'; + +export const StrategyActions = () => { + return ( +
+
, + }, + { + dataIndex: 'scope', + title: '可操作的数据范围', + render: () =>