diff --git a/frontend/plugins/operation_ui/module-federation.config.ts b/frontend/plugins/operation_ui/module-federation.config.ts
index 40850d2a0e..3775a00137 100644
--- a/frontend/plugins/operation_ui/module-federation.config.ts
+++ b/frontend/plugins/operation_ui/module-federation.config.ts
@@ -17,7 +17,7 @@ const config: ModuleFederationConfig = {
exposes: {
'./config': './src/config.tsx',
'./operation': './src/modules/main/Main.tsx',
- './teamSettings': './src/modules/team/Settings.tsx',
+ './operationSettings': './src/modules/OperationSettings.tsx',
'./relationWidget': './src/widgets/relation/RelationWidgets.tsx',
'./notificationWidget':
'./src/widgets/notifications/NotificationsWidgets.tsx',
diff --git a/frontend/plugins/operation_ui/src/config.tsx b/frontend/plugins/operation_ui/src/config.tsx
index 970e57b9d9..d85539b466 100644
--- a/frontend/plugins/operation_ui/src/config.tsx
+++ b/frontend/plugins/operation_ui/src/config.tsx
@@ -19,9 +19,20 @@ const TeamsNavigation = lazy(() =>
})),
);
+const OperationSettingsNavigation = lazy(() =>
+ import('./modules/OperationSettingsNavigation').then((module) => ({
+ default: module.OperationSettingsNavigation,
+ })),
+);
+
export const CONFIG: IUIConfig = {
name: 'operation',
- icon: IconListCheck,
+ path: 'operation',
+ settingsNavigation: () => (
+ }>
+
+
+ ),
navigationGroup: {
name: 'operation',
icon: IconListCheck,
@@ -30,28 +41,12 @@ export const CONFIG: IUIConfig = {
),
- subGroups: () => (
+ subGroup: () => (
}>
),
},
- modules: [
- {
- name: 'operation',
- icon: IconListCheck,
- path: 'operation',
- hasSettings: false,
- hasRelationWidget: true,
- hasFloatingWidget: false,
- },
- {
- name: 'team',
- path: 'operation/team',
- settingsOnly: true,
- },
- ],
-
relationWidgets: [
{
name: 'tasks',
diff --git a/frontend/plugins/operation_ui/src/modules/OperationSettings.tsx b/frontend/plugins/operation_ui/src/modules/OperationSettings.tsx
new file mode 100644
index 0000000000..9bb5fbb129
--- /dev/null
+++ b/frontend/plugins/operation_ui/src/modules/OperationSettings.tsx
@@ -0,0 +1,21 @@
+import { lazy, Suspense } from 'react';
+import { Route, Routes } from 'react-router-dom';
+import { OperationPaths } from '~/types/operationPaths';
+
+export const TeamSettings = lazy(() =>
+ import('@/team/TeamSettings').then((module) => ({
+ default: module.TeamSettings,
+ })),
+);
+
+const OperationSettings = () => {
+ return (
+ }>
+
+ } />
+
+
+ );
+};
+
+export default OperationSettings;
diff --git a/frontend/plugins/operation_ui/src/modules/OperationSettingsNavigation.tsx b/frontend/plugins/operation_ui/src/modules/OperationSettingsNavigation.tsx
new file mode 100644
index 0000000000..b693f0a13c
--- /dev/null
+++ b/frontend/plugins/operation_ui/src/modules/OperationSettingsNavigation.tsx
@@ -0,0 +1,19 @@
+import { SettingsNavigationMenuLinkItem, Sidebar } from 'erxes-ui';
+import { OperationPaths } from '~/types/operationPaths';
+
+export const OperationSettingsNavigation = () => {
+ return (
+
+ Operation
+
+
+
+
+
+
+ );
+};
diff --git a/frontend/plugins/operation_ui/src/modules/team/Settings.tsx b/frontend/plugins/operation_ui/src/modules/team/TeamSettings.tsx
similarity index 93%
rename from frontend/plugins/operation_ui/src/modules/team/Settings.tsx
rename to frontend/plugins/operation_ui/src/modules/team/TeamSettings.tsx
index c004cac5ef..ec0983a7f9 100644
--- a/frontend/plugins/operation_ui/src/modules/team/Settings.tsx
+++ b/frontend/plugins/operation_ui/src/modules/team/TeamSettings.tsx
@@ -7,11 +7,11 @@ import { Outlet } from 'react-router-dom';
import { TeamsSettingsPage } from '~/pages/TeamSettingsIndexPage';
import { TeamDetailPage } from '~/pages/TeamDetailPage';
-import { OperationPaths } from '~/types/paths';
+import { OperationPaths } from '~/types/operationPaths';
import { TeamMembersPage } from '~/pages/TeamMembersPage';
import { TeamStatusPage } from '~/pages/TeamStatusPage';
-const TeamSettings = () => {
+export const TeamSettings = () => {
return (
}>
@@ -48,5 +48,3 @@ const TeamSettings = () => {
);
};
-
-export default TeamSettings;
diff --git a/frontend/plugins/operation_ui/src/types/paths.ts b/frontend/plugins/operation_ui/src/types/operationPaths.ts
similarity index 60%
rename from frontend/plugins/operation_ui/src/types/paths.ts
rename to frontend/plugins/operation_ui/src/types/operationPaths.ts
index 93264ef973..11eaa9a332 100644
--- a/frontend/plugins/operation_ui/src/types/paths.ts
+++ b/frontend/plugins/operation_ui/src/types/operationPaths.ts
@@ -1,5 +1,7 @@
export enum OperationPaths {
- TeamList = '/settings/operation/team',
+ Operation = 'operation',
+ OperationAll = 'operation/*',
+ TeamList = 'team',
TeamDetail = '/details/:id',
TeamMembers = 'members/:id',
TeamStatus = 'status/:id',
diff --git a/scripts/create-plugin.js b/scripts/create-plugin.js
index 42eef95107..c9300b563e 100644
--- a/scripts/create-plugin.js
+++ b/scripts/create-plugin.js
@@ -157,6 +157,15 @@ import { IUIConfig } from 'erxes-ui/types';
export const CONFIG: IUIConfig = {
name: '${kebabCaseName}',
icon: IconSandbox,
+ navigationGroup: {
+ name: '${kebabCaseName}',
+ icon: IconSandbox,
+ content: () => (
+ }>
+ <${kebabCaseModuleName}Navigation />
+
+ ),
+ },
modules: [
{
name: '${moduleName}',