diff --git a/packages/ui/package-lock.json b/packages/ui/package-lock.json
index 67a748f1..84b2c506 100644
--- a/packages/ui/package-lock.json
+++ b/packages/ui/package-lock.json
@@ -21,7 +21,7 @@
"dayjs": "^1.10.7",
"dexie": "^3.2.0",
"dexie-export-import": "^1.0.3",
- "httpsnippet-browser": "github:flawiddsouza/httpsnippet-browser#e40dbea",
+ "httpsnippet-browser": "github:flawiddsouza/httpsnippet-browser#ed12aba",
"insomnia-importers-browser": "github:flawiddsouza/insomnia-importers-browser",
"jszip": "^3.7.1",
"lodash.get": "^4.4.2",
@@ -32,9 +32,9 @@
"quickjs-emscripten-sync": "^1.5.2",
"sass": "^1.43.4",
"shell-quote": "^1.8.1",
- "socket.io-client-v2": "npm:socket.io-client@^2",
- "socket.io-client-v3": "npm:socket.io-client@^3",
- "socket.io-client-v4": "npm:socket.io-client@^4",
+ "socket.io-client-v2": "npm:socket.io-client@^2.5.0",
+ "socket.io-client-v3": "npm:socket.io-client@^3.1.3",
+ "socket.io-client-v4": "npm:socket.io-client@^4.7.4",
"vue": "^3.2.41",
"vue-toast-notification": "^3.0.0",
"vuex": "^4.0.2"
@@ -5642,8 +5642,8 @@
}
},
"node_modules/httpsnippet-browser": {
- "version": "1.0.0",
- "resolved": "git+ssh://git@github.com/flawiddsouza/httpsnippet-browser.git#e40dbeaf67b2bd940c214dfb70f66f5fad5d0a60",
+ "version": "1.1.0",
+ "resolved": "git+ssh://git@github.com/flawiddsouza/httpsnippet-browser.git#ed12aba08a0621ba007d36dbd568dde3299a85a4",
"license": "MIT"
},
"node_modules/idb": {
@@ -12962,8 +12962,8 @@
}
},
"httpsnippet-browser": {
- "version": "git+ssh://git@github.com/flawiddsouza/httpsnippet-browser.git#e40dbeaf67b2bd940c214dfb70f66f5fad5d0a60",
- "from": "httpsnippet-browser@github:flawiddsouza/httpsnippet-browser#e40dbea"
+ "version": "git+ssh://git@github.com/flawiddsouza/httpsnippet-browser.git#ed12aba08a0621ba007d36dbd568dde3299a85a4",
+ "from": "httpsnippet-browser@github:flawiddsouza/httpsnippet-browser#ed12aba"
},
"idb": {
"version": "7.1.1",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 641ed37e..e40eac8f 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -27,7 +27,7 @@
"dayjs": "^1.10.7",
"dexie": "^3.2.0",
"dexie-export-import": "^1.0.3",
- "httpsnippet-browser": "github:flawiddsouza/httpsnippet-browser#e40dbea",
+ "httpsnippet-browser": "github:flawiddsouza/httpsnippet-browser#ed12aba",
"insomnia-importers-browser": "github:flawiddsouza/insomnia-importers-browser",
"jszip": "^3.7.1",
"lodash.get": "^4.4.2",
diff --git a/packages/ui/src/components/CodeMirrorEditor.vue b/packages/ui/src/components/CodeMirrorEditor.vue
index 5e81580b..9e3c8a54 100644
--- a/packages/ui/src/components/CodeMirrorEditor.vue
+++ b/packages/ui/src/components/CodeMirrorEditor.vue
@@ -56,6 +56,7 @@ function createState(language, documentText, vueInstance) {
languageFunc = graphqlLanguage
highlightStyle = codeMirrorSyntaxHighlighting()
}
+
return EditorState.create({
doc: documentText,
extensions: [
@@ -86,7 +87,8 @@ function createState(language, documentText, vueInstance) {
indentWithTab,
...searchKeymap,
selectLineKeyMap
- ])
+ ]),
+ vueInstance.readonly ? EditorState.readOnly.of(true) : EditorState.readOnly.of(false),
]
})
}
@@ -100,7 +102,11 @@ export default {
lang: {
type: String,
required: true
- }
+ },
+ readonly: {
+ type: Boolean,
+ default: false
+ },
},
data() {
return {
diff --git a/packages/ui/src/components/Sidebar.vue b/packages/ui/src/components/Sidebar.vue
index 26eae527..c996b6b3 100644
--- a/packages/ui/src/components/Sidebar.vue
+++ b/packages/ui/src/components/Sidebar.vue
@@ -28,6 +28,7 @@
+
+
+
diff --git a/packages/ui/src/constants.js b/packages/ui/src/constants.js
index 148108e6..b7df31a8 100644
--- a/packages/ui/src/constants.js
+++ b/packages/ui/src/constants.js
@@ -10,6 +10,8 @@ export default {
DISABLE_PAGE_VIEW_ANALYTICS_TRACKING: 'Restfox-DisablePageViewAnalyticsTracking',
DISABLE_SSL_VERIFICATION: 'Restfox-DisableSSLVerification',
ELECTRON_SWITCH_TO_CHROMIUM_FETCH: 'Restfox-ElectronSwitchToChromiumFetch',
+ GENERATE_CODE_LANGUAGE: 'Restfox-GenerateCodeLanguage',
+ GENERATE_CODE_CLIENT: 'Restfox-GenerateCodeClient',
},
HOTKEYS: {
SEND_REQUEST: 'Ctrl + Enter',
diff --git a/packages/ui/src/utils/generate-code.ts b/packages/ui/src/utils/generate-code.ts
index 239bb8e8..3c2af496 100644
--- a/packages/ui/src/utils/generate-code.ts
+++ b/packages/ui/src/utils/generate-code.ts
@@ -1,5 +1,9 @@
import { createRequestData, substituteEnvironmentVariables } from '@/helpers'
-import { HTTPSnippet } from 'httpsnippet-browser'
+import { HTTPSnippet, availableTargets } from 'httpsnippet-browser'
+
+export function getAvailableTargets() {
+ return availableTargets()
+}
export async function generateCode(request, environment, target: 'shell', clientId: 'curl') {
const state = {