feat(mysql): manage and edit MySQL events

This commit is contained in:
miracle authored and GitHub committed 2026-08-23 12:23:46 +08:00
1 parent 701f188e45
commit d8bc5153d2
35 files changed
+981 -27

No files matched your search

+14 -1
View File
@@ -1879,10 +1879,19 @@ export const useQueryStore = defineStore("query", () => {
return id;
}
function openObjectBrowser(connectionId: string, database: string, schema?: string, catalog?: string) {
function openObjectBrowser(connectionId: string, database: string, schema?: string, catalog?: string, eventName?: string, eventReadOnly = false, initialObjectFilter?: "tables" | "events") {
const title = catalog ? `${catalog}.${database} objects` : schema ? `${schema} objects` : `${database} objects`;
const existing = tabs.value.find((tab) => tab.mode === "objects" && tab.connectionId === connectionId && tab.database === database && (tab.objectBrowser?.catalog || "") === (catalog || "") && (tab.objectBrowser?.schema || "") === (schema || ""));
if (existing) {
if (eventName) {
existing.objectBrowser = {
...existing.objectBrowser,
eventName,
eventReadOnly,
initialObjectFilter: initialObjectFilter ?? (eventName ? "events" : existing.objectBrowser?.initialObjectFilter),
eventOpenRequestId: (existing.objectBrowser?.eventOpenRequestId ?? 0) + 1,
};
}
switchTab(existing.id);
return existing.id;
}
@@ -1903,6 +1912,10 @@ export const useQueryStore = defineStore("query", () => {
catalog,
schema,
objectType: "tables",
eventName,
eventReadOnly,
initialObjectFilter: initialObjectFilter ?? (eventName ? "events" : undefined),
eventOpenRequestId: eventName ? 1 : undefined,
},
};
tabs.value.push(tab);