From 7dd639192cb3e9d724b2a88192fd0aca8dd28217 Mon Sep 17 00:00:00 2001 From: Huynh Tien Date: Mon, 16 Sep 2024 01:36:06 +0700 Subject: [PATCH] Support more languages in Generate Code (#2991) * generate languages for all targets * change target client name * add scroll bar * remove debug log --- .../GenerateCodeItem/StyledWrapper.js | 3 +- .../CollectionItem/GenerateCodeItem/index.js | 51 ++----------------- .../src/utils/codegenerator/targets.js | 23 +++++++++ 3 files changed, 28 insertions(+), 49 deletions(-) create mode 100644 packages/bruno-app/src/utils/codegenerator/targets.js diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/StyledWrapper.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/StyledWrapper.js index 635c545e9..c866498ec 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/StyledWrapper.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/StyledWrapper.js @@ -8,8 +8,9 @@ const StyledWrapper = styled.div` .generate-code-sidebar { background-color: ${(props) => props.theme.collection.environment.settings.sidebar.bg}; border-right: solid 1px ${(props) => props.theme.collection.environment.settings.sidebar.borderRight}; - min-height: 400px; + max-height: 90vh; height: 100%; + overflow-y: auto; } .generate-code-item { diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/index.js index 2b19d461b..9d24df1f0 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/index.js @@ -6,56 +6,11 @@ import { isValidUrl } from 'utils/url'; import { find, get } from 'lodash'; import { findEnvironmentInCollection } from 'utils/collections'; import { interpolateUrl, interpolateUrlPathParams } from 'utils/url/index'; - -const languages = [ - { - name: 'HTTP', - target: 'http', - client: 'http1.1' - }, - { - name: 'JavaScript-Fetch', - target: 'javascript', - client: 'fetch' - }, - { - name: 'Javascript-jQuery', - target: 'javascript', - client: 'jquery' - }, - { - name: 'Javascript-axios', - target: 'javascript', - client: 'axios' - }, - { - name: 'Python-Python3', - target: 'python', - client: 'python3' - }, - { - name: 'Python-Requests', - target: 'python', - client: 'requests' - }, - { - name: 'PHP', - target: 'php', - client: 'curl' - }, - { - name: 'Shell-curl', - target: 'shell', - client: 'curl' - }, - { - name: 'Shell-httpie', - target: 'shell', - client: 'httpie' - } -]; +import { getLanguages } from 'utils/codegenerator/targets'; const GenerateCodeItem = ({ collection, item, onClose }) => { + const languages = getLanguages(); + const environment = findEnvironmentInCollection(collection, collection.activeEnvironmentUid); let envVars = {}; if (environment) { diff --git a/packages/bruno-app/src/utils/codegenerator/targets.js b/packages/bruno-app/src/utils/codegenerator/targets.js new file mode 100644 index 000000000..6197d9b55 --- /dev/null +++ b/packages/bruno-app/src/utils/codegenerator/targets.js @@ -0,0 +1,23 @@ +import { targets } from 'httpsnippet'; + +export const getLanguages = () => { + const allLanguages = []; + for (const target of Object.values(targets)) { + const { key, title } = target.info; + const clients = Object.keys(target.clientsById); + const languages = + (clients.length === 1) + ? [{ + name: title, + target: key, + client: clients[0] + }] + : clients.map(client => ({ + name: `${title}-${client}`, + target: key, + client + })); + allLanguages.push(...languages); + } + return allLanguages; +}; \ No newline at end of file