diff --git a/app/javascript/dashboard/api/captain/customTools.js b/app/javascript/dashboard/api/captain/customTools.js index d0818d9..e8665f5 100755 --- a/app/javascript/dashboard/api/captain/customTools.js +++ b/app/javascript/dashboard/api/captain/customTools.js @@ -31,6 +31,12 @@ class CaptainCustomTools extends ApiClient { delete(id) { return axios.delete(`${this.url}/${id}`); } + + test(id, data = {}) { + return axios.post(`${this.url}/${id}/test`, { + tool_params: data, + }); + } } export default new CaptainCustomTools(); diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/customTool/CustomToolCard.vue b/app/javascript/dashboard/components-next/captain/pageComponents/customTool/CustomToolCard.vue index d1d1dd0..a4a7f4a 100755 --- a/app/javascript/dashboard/components-next/captain/pageComponents/customTool/CustomToolCard.vue +++ b/app/javascript/dashboard/components-next/captain/pageComponents/customTool/CustomToolCard.vue @@ -43,6 +43,12 @@ const { t } = useI18n(); const [showActionsDropdown, toggleDropdown] = useToggle(); const menuItems = computed(() => [ + { + label: t('CAPTAIN.CUSTOM_TOOLS.OPTIONS.TEST_TOOL'), + value: 'test', + action: 'test', + icon: 'i-lucide-play', + }, { label: t('CAPTAIN.CUSTOM_TOOLS.OPTIONS.EDIT_TOOL'), value: 'edit', diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/customTool/ToolTestDialog.vue b/app/javascript/dashboard/components-next/captain/pageComponents/customTool/ToolTestDialog.vue new file mode 100644 index 0000000..6c7a3be --- /dev/null +++ b/app/javascript/dashboard/components-next/captain/pageComponents/customTool/ToolTestDialog.vue @@ -0,0 +1,141 @@ + + +