From a94adced72589e1f66249b6afb9d0416613bd674 Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Mon, 30 Dec 2024 09:27:22 +0000 Subject: [PATCH] contextmenu and deployment --- .../builder/src/stores/builder/contextMenu.js | 28 ----------- .../builder/src/stores/builder/contextMenu.ts | 46 +++++++++++++++++++ .../{deployments.js => deployments.ts} | 7 +-- 3 files changed, 50 insertions(+), 31 deletions(-) delete mode 100644 packages/builder/src/stores/builder/contextMenu.js create mode 100644 packages/builder/src/stores/builder/contextMenu.ts rename packages/builder/src/stores/builder/{deployments.js => deployments.ts} (62%) diff --git a/packages/builder/src/stores/builder/contextMenu.js b/packages/builder/src/stores/builder/contextMenu.js deleted file mode 100644 index 2b8808570e..0000000000 --- a/packages/builder/src/stores/builder/contextMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -import { writable } from "svelte/store" - -export const INITIAL_CONTEXT_MENU_STATE = { - id: null, - items: [], - position: { x: 0, y: 0 }, - visible: false, -} - -export function createViewsStore() { - const store = writable({ ...INITIAL_CONTEXT_MENU_STATE }) - - const open = (id, items, position) => { - store.set({ id, items, position, visible: true }) - } - - const close = () => { - store.set({ ...INITIAL_CONTEXT_MENU_STATE }) - } - - return { - subscribe: store.subscribe, - open, - close, - } -} - -export const contextMenuStore = createViewsStore() diff --git a/packages/builder/src/stores/builder/contextMenu.ts b/packages/builder/src/stores/builder/contextMenu.ts new file mode 100644 index 0000000000..dc205c7fea --- /dev/null +++ b/packages/builder/src/stores/builder/contextMenu.ts @@ -0,0 +1,46 @@ +import { writable } from "svelte/store" + +interface Position { + x: number + y: number +} + +interface MenuItem { + label: string + icon?: string + action: () => void +} + +interface ContextMenuState { + id: string | null + items: MenuItem[] + position: Position + visible: boolean +} + +export const INITIAL_CONTEXT_MENU_STATE: ContextMenuState = { + id: null, + items: [], + position: { x: 0, y: 0 }, + visible: false, +} + +export function createViewsStore() { + const store = writable({ ...INITIAL_CONTEXT_MENU_STATE }) + + const open = (id: string, items: MenuItem[], position: Position): void => { + store.set({ id, items, position, visible: true }) + } + + const close = (): void => { + store.set({ ...INITIAL_CONTEXT_MENU_STATE }) + } + + return { + subscribe: store.subscribe, + open, + close, + } +} + +export const contextMenuStore = createViewsStore() diff --git a/packages/builder/src/stores/builder/deployments.js b/packages/builder/src/stores/builder/deployments.ts similarity index 62% rename from packages/builder/src/stores/builder/deployments.js rename to packages/builder/src/stores/builder/deployments.ts index dafdb1dabc..130e52bc91 100644 --- a/packages/builder/src/stores/builder/deployments.js +++ b/packages/builder/src/stores/builder/deployments.ts @@ -1,11 +1,12 @@ -import { writable } from "svelte/store" +import { writable, type Writable } from "svelte/store" import { API } from "api" import { notifications } from "@budibase/bbui" +import { DeploymentProgressResponse } from "@budibase/types" export const createDeploymentStore = () => { - let store = writable([]) + let store: Writable = writable([]) - const load = async () => { + const load = async (): Promise => { try { store.set(await API.getAppDeployments()) } catch (err) {