diff --git a/package-lock.json b/package-lock.json index ae628c8..ddabd33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "@babel/preset-typescript": "^7.23.3", "@types/node": "^22.13.5", "@types/prismjs": "^1.26.3", - "@webflow/designer-extension-typings": "^2.0.10", + "@webflow/designer-extension-typings": "^2.0.12", "@webflow/webflow-cli": "^1.6.6", "babel-loader": "^9.1.3", "concurrently": "^6.3.0", @@ -2715,9 +2715,9 @@ } }, "node_modules/@webflow/designer-extension-typings": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@webflow/designer-extension-typings/-/designer-extension-typings-2.0.10.tgz", - "integrity": "sha512-yR5PmBnPgEVr3BHtjltiJznf5Nu2C1xJM8cC4uQDiB9zfzN+I7KQPOwhhcN5XlPHEZgw8d14K//aorlKsfPhIg==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@webflow/designer-extension-typings/-/designer-extension-typings-2.0.12.tgz", + "integrity": "sha512-kj5KR/AMGWfFMwNgFuSZwuQtcRQ24XnoT/d6rMz/VOfSrmVsFdRe987JDYHr8jWlJ/6visbPdXBRLDmJEo9lMA==", "dev": true }, "node_modules/@webflow/webflow-cli": { diff --git a/package.json b/package.json index d6e4612..99c36f5 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "@babel/preset-typescript": "^7.23.3", "@types/node": "^22.13.5", "@types/prismjs": "^1.26.3", - "@webflow/designer-extension-typings": "^2.0.10", + "@webflow/designer-extension-typings": "^2.0.12", "@webflow/webflow-cli": "^1.6.6", "babel-loader": "^9.1.3", "concurrently": "^6.3.0", diff --git a/src/examples/elements.ts b/src/examples/elements.ts index 7df4873..f16b592 100644 --- a/src/examples/elements.ts +++ b/src/examples/elements.ts @@ -9,6 +9,17 @@ export enum LinkModeSettings { attachment = 'attachment', } +export enum MethodEnum { + get = 'get', + post = 'post', +} + +export enum StateEnum { + success = 'success', + error = 'error', + loading = 'loading', +} + export const Elements = { // Element Management elementManagement: { @@ -681,6 +692,7 @@ export const Elements = { }, }, + // Form Operations formOperations: { getFormName: async () => { // Get Selected Element @@ -708,5 +720,39 @@ export const Elements = { await selectedElement?.setName(name) } }, + + getFormSettings: async () => { + // Get Selected Element + const selectedElement = await webflow.getSelectedElement() + + if ( + selectedElement?.type === 'FormForm' || + selectedElement?.type === 'FormWrapper' + ) { + const formSettings = await selectedElement?.getSettings() + console.log(formSettings) + } + }, + + setFormSettings: async ( + name: string, + method: MethodEnum, + state: StateEnum, + action: string, + ) => { + // Get Selected Element + const selectedElement = await webflow.getSelectedElement() + + if ( + selectedElement?.type === 'FormForm' || + selectedElement?.type === 'FormWrapper' + ) { + await selectedElement?.setSettings({ + method: 'post', + name: 'New Form', + state: 'success', + }) + } + }, }, } diff --git a/src/hooks/useFunctionCode.js b/src/hooks/useFunctionCode.js index 2000c23..0c395e9 100644 --- a/src/hooks/useFunctionCode.js +++ b/src/hooks/useFunctionCode.js @@ -3,7 +3,7 @@ import examples from '../examples/examples' const BASE_URL = process.env.NODE_ENV === 'development' - ? 'https://deploy-preview-1--thriving-zuccutto-5ad917.netlify.app' + ? 'https://development--thriving-zuccutto-5ad917.netlify.app' : 'https://main--thriving-zuccutto-5ad917.netlify.app' // This hook is responsible for fetching and parsing function code, and extracting parameters.