diff --git a/components.d.ts b/components.d.ts index 96bfebc..9ce08d3 100644 --- a/components.d.ts +++ b/components.d.ts @@ -32,6 +32,7 @@ declare module 'vue' { TrainingScriptBaseDoalog: typeof import('./src/components/atoms/organisms/TrainingScriptBaseDoalog.vue')['default'] ViewComponent: typeof import('./src/components/templates/Datasets/ViewComponent.vue')['default'] WorkflowDialog: typeof import('./src/components/atoms/organisms/WorkflowDialog.vue')['default'] + WorkflowsBaseDialog: typeof import('./src/components/atoms/organisms/WorkflowsBaseDialog.vue')['default'] WorkflowsCreateDialog: typeof import('./src/components/atoms/organisms/WorkflowsCreateDialog.vue')['default'] WorkflowsUploadDialog: typeof import('./src/components/atoms/organisms/WorkflowsUploadDialog.vue')['default'] } diff --git a/package-lock.json b/package-lock.json index 58595a6..a7f125a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@fontsource/roboto": "5.2.5", "@mdi/font": "7.4.47", "axios": "^1.11.0", + "dayjs": "^1.11.18", "monaco-editor": "^0.52.2", "plotly.js-dist-min": "^3.0.1", "prettier": "^3.5.3", @@ -2640,6 +2641,12 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "license": "MIT" }, + "node_modules/dayjs": { + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", diff --git a/package.json b/package.json index 0242ced..a9dfc4b 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "@fontsource/roboto": "5.2.5", "@mdi/font": "7.4.47", "axios": "^1.11.0", + "dayjs": "^1.11.18", "monaco-editor": "^0.52.2", "plotly.js-dist-min": "^3.0.1", "prettier": "^3.5.3", diff --git a/src/components/atoms/organisms/WorkflowDialog.vue b/src/components/atoms/organisms/WorkflowDialog.vue index 5d58c02..494767f 100644 --- a/src/components/atoms/organisms/WorkflowDialog.vue +++ b/src/components/atoms/organisms/WorkflowDialog.vue @@ -42,6 +42,15 @@ const onSave = () => { const onClose = () => { emit("update:modelValue", false); }; + +function onEsc(e: KeyboardEvent) { + if (e.key === "Escape") { + emit("update:modelValue"); + } +} + +onMounted(() => window.addEventListener("keydown", onEsc)); +onBeforeUnmount(() => window.removeEventListener("keydown", onEsc));