Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions ui/src/views/system-resource-management/ToolResourceIndex.vue
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,13 @@
<AppIcon iconName="app-export" class="color-secondary"></AppIcon>
{{ $t('common.export') }}
</el-dropdown-item>
<el-dropdown-item
v-if="row.tool_type === 'MCP'"
@click.stop="showMcpConfig(row)"
>
<AppIcon iconName="app-operate-log" class="color-secondary"></AppIcon>
{{ $t('views.tool.mcpConfig') }}
</el-dropdown-item>
<el-dropdown-item
v-if="permissionPrecise.delete()"
divided
Expand All @@ -296,6 +303,7 @@
<ToolFormDrawer ref="ToolFormDrawerRef" @refresh="refresh" :title="ToolDrawertitle" />
<McpToolFormDrawer ref="McpToolFormDrawerRef" @refresh="refresh" :title="McpToolDrawertitle" />
<AddInternalToolDialog ref="AddInternalToolDialogRef" @refresh="confirmAddInternalTool" />
<McpToolConfigDialog ref="McpToolConfigDialogRef" @refresh="refresh" />
</div>
</template>

Expand All @@ -316,6 +324,7 @@ import { loadPermissionApi } from '@/utils/dynamics-api/permission-api.ts'
import UserApi from '@/api/user/user.ts'
import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message'
import permissionMap from '@/permission'
import McpToolConfigDialog from "@/views/tool/component/McpToolConfigDialog.vue";

const { user } = useStore()

Expand Down Expand Up @@ -360,6 +369,15 @@ function exportTool(row: any) {
})
}

const McpToolConfigDialogRef = ref()
function showMcpConfig(item: any) {
ToolResourceApi
.getToolById(item?.id, loading)
.then((res: any) => {
McpToolConfigDialogRef.value.open(res.data)
})
}

function deleteTool(row: any) {
MsgConfirm(
`${t('views.tool.delete.confirmTitle')}:${row.name} ?`,
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The provided code looks generally well-structured and functional, but there are some minor improvements that can be made:

  1. Code Formatting: Ensure consistent spacing around brackets and logical operators for better readability.

  2. Type Definition: Make sure all TypeScript types (any, string etc.) have been defined if needed.

  3. Destructuring Assigment: Use modern JavaScript object destructuring to make your code cleaner and more readable.

  4. Comments: Add comments where applicable for clarity. It's also beneficial for debugging or future reference.

Here is an improved version of the code with these considerations:

@@ -276,6 +276,13 @@
                     <AppIcon iconName="app-export" class="color-secondary"></AppIcon>
                     {{ $t('common.export') }}
                   </el-dropdown-item>
+                  <el-dropdown-item
+                    v-if="row.tool_type === 'MCP'"
+                    @click.stop="showMcpConfig(row)"
+                  >
+                    <AppIcon iconName="app-operate-log" class="color-secondary"></AppIcon>
+                    {{ $t('views.tool.mcpConfig') }}
+                  </el-dropdown-item>
                   <el-dropdown-item
                     v-if="permissionPrecise.delete()"
                     divided
@@ -296,6 +303,7 @@ import { loadPermissionApi } from '@/utils/dynamics-api/permission-api.ts'
 import UserApi from '@/api/user/user.ts'
 import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message'
 import permissionMap from '@/permission'
+import McpToolConfigDialog from "@/views/tool/component/McpToolConfigDialog.vue";

const McpToolConfigDialogRef = ref();

function showMcpConfig(item: any) {
  ToolResourceApi
    .getToolById(item?.id, loading)
    .then((res: any) => {
      McpToolConfigDialogRef.value.open(res.data);
    });
}

export default defineComponent({
    components: {
        AppIcon,
        ElDropdownItem,
        // other required components...
        McpToolConfigDialog,
    },
    
    setup() {
        const { user } = useStore();
        
        function exportTool(row: any) {
            // logic here...
        }

        function deleteTool(row: any) {
            MsgConfirm(
                `${t('views.tool.delete.confirmTitle')}: ${row.name} ?`,
                // confirmation action...
            );
        }
        
        return {
            user,
            exportTool,
            deleteTool,
            McpToolConfigDialogRef,
            showMcpConfig,
            McpToolFormDrawerRef,
            McpToolDrawertitle,
            ConfirmAddInternalToolDialogRef,
            confirmAddInternalTool,
        };
    },
});

Key Improvements:

  • Consistent Spacing and Logical Operators.
  • Use Modern Destructuring.
  • Added Comments for better understanding.
  • Exported Component in Setup Function (if using Vue Composition API).

These changes improve maintainability and ensure the code is easier to read and debug.

Expand Down
Loading