From cf6ab2e64c9fde24ae2008761d27f4fd122403c2 Mon Sep 17 00:00:00 2001 From: Falk Wolsky Date: Sat, 22 Mar 2025 18:50:48 +0100 Subject: [PATCH 01/13] Update netlify.toml - to enable the build --- client/netlify.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/netlify.toml b/client/netlify.toml index 1cb2010f3..4d549283c 100644 --- a/client/netlify.toml +++ b/client/netlify.toml @@ -2,3 +2,5 @@ from = "/*" to = "/" status = 200 +[[plugins]] + package = "@netlify/plugin-cache" From 3347226ad24f1cb488d1a9891f484154d8796aff Mon Sep 17 00:00:00 2001 From: Falk Wolsky Date: Sat, 22 Mar 2025 18:56:48 +0100 Subject: [PATCH 02/13] Update netlify.toml --- client/netlify.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/client/netlify.toml b/client/netlify.toml index 4d549283c..1cb2010f3 100644 --- a/client/netlify.toml +++ b/client/netlify.toml @@ -2,5 +2,3 @@ from = "/*" to = "/" status = 200 -[[plugins]] - package = "@netlify/plugin-cache" From 10d78a9ac321a18373647e6e2636a19c623d8f68 Mon Sep 17 00:00:00 2001 From: 1DontEx1st Date: Mon, 24 Mar 2025 21:42:30 -0400 Subject: [PATCH 03/13] Update transformers.md typo fix --- docs/business-logic-in-apps/write-javascript/transformers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/business-logic-in-apps/write-javascript/transformers.md b/docs/business-logic-in-apps/write-javascript/transformers.md index 0c195ed41..0c0c3cd74 100644 --- a/docs/business-logic-in-apps/write-javascript/transformers.md +++ b/docs/business-logic-in-apps/write-javascript/transformers.md @@ -6,7 +6,7 @@ Compared with inline code in `{{ }}`, transformer supports multi-line code block ## Quickstart -Click **+ New > Transfromer** in a query editor to create a transformer. +Click **+ New > Transformer** in a query editor to create a transformer. Then write your JS code in the transformer. You can click **Preview** to get the return value and access it by `transformerName.value` in your app. From a47b153ffcd8430130002a5150edad724e0465a3 Mon Sep 17 00:00:00 2001 From: 1DontEx1st Date: Mon, 31 Mar 2025 20:59:39 -0400 Subject: [PATCH 04/13] Update README.md fix typo --- .../use-third-party-libraries-in-apps/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md b/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md index 6e60d0488..616e29621 100644 --- a/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md +++ b/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md @@ -16,7 +16,7 @@ Lowcoder provides some JavaScript built-in libraries for use. Built-in Libraries can be used directly everywhere where you can use JavaScript. ``` -// loadash +// lodash return _.chunk(['a', 'b', 'c', 'd'], 2); // => [['a', 'b'], ['c', 'd']] From b7ff3f02032b2ad655d28c8d8bb9e85613506e6f Mon Sep 17 00:00:00 2001 From: 1DontEx1st Date: Mon, 31 Mar 2025 21:21:32 -0400 Subject: [PATCH 05/13] Add files via upload --- docs/.gitbook/assets/chrome_iLpFHdTIje.png | Bin 0 -> 45852 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/.gitbook/assets/chrome_iLpFHdTIje.png diff --git a/docs/.gitbook/assets/chrome_iLpFHdTIje.png b/docs/.gitbook/assets/chrome_iLpFHdTIje.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2598f1cb337d00da091ad091c769658ed318ee GIT binary patch literal 45852 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 Date: Mon, 31 Mar 2025 21:23:25 -0400 Subject: [PATCH 06/13] Rename chrome_iLpFHdTIje.png to Individualization JavaScript Libraries --- ...e.png => Individualization JavaScript Libraries} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/.gitbook/assets/{chrome_iLpFHdTIje.png => Individualization JavaScript Libraries} (100%) diff --git a/docs/.gitbook/assets/chrome_iLpFHdTIje.png b/docs/.gitbook/assets/Individualization JavaScript Libraries similarity index 100% rename from docs/.gitbook/assets/chrome_iLpFHdTIje.png rename to docs/.gitbook/assets/Individualization JavaScript Libraries From d6dd1c702d1dd68fa7fe7b3cc2d7ff86d44c25ce Mon Sep 17 00:00:00 2001 From: 1DontEx1st Date: Mon, 31 Mar 2025 21:25:25 -0400 Subject: [PATCH 07/13] Update README.md change doc graphic for adding JS library locally to app --- .../use-third-party-libraries-in-apps/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md b/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md index 616e29621..ae0759dc9 100644 --- a/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md +++ b/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md @@ -107,11 +107,11 @@ You can check popular CDNs if they host your desired library as a minified packa ### Import / bind at the app level -Navigate to the settings page and then click the plus sign **+** under the **JavaScript library** tab. Paste the **library** link and click **Add New**. Lowcoder will now check, if the external library will be compatible and securely usable. +Navigate to the Individualization page and then click the plus sign **+** under the **JavaScript library** tab. Paste the **library** link and click **Add New**. Lowcoder will now check, if the external library will be compatible and securely usable. You can also click the download icon to quickly download any recommended JS library. -

Bind an external JS Library to an individual App

+

Bind an external JS Library to an individual App

Now, you can create a JS query and insert code. From 2234edabd1d8a1fd73fd90e91316c98e273ac515 Mon Sep 17 00:00:00 2001 From: Falk Wolsky Date: Sat, 19 Apr 2025 14:26:23 +0200 Subject: [PATCH 08/13] Update sonarcloud.yml We update the workflow file to increase memory heap size, as former runs did stop working because of the memory. --- .github/workflows/sonarcloud.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index f5cdd5280..4a2e939f8 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -30,3 +30,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_SCANNER_OPTS: "-Dsonar.javascript.node.maxspace=6144" From c174d6bbf6084d7f69fb58b7e344ac1e4f12d6e9 Mon Sep 17 00:00:00 2001 From: Falk Wolsky Date: Sat, 19 Apr 2025 14:41:40 +0200 Subject: [PATCH 09/13] Update sonarcloud.yml Adding more ram for the sonarcude server --- .github/workflows/sonarcloud.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 4a2e939f8..55e2fcebc 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -30,4 +30,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - SONAR_SCANNER_OPTS: "-Dsonar.javascript.node.maxspace=6144" + SONAR_SCANNER_OPTS: "-Dsonar.javascript.node.maxspace=8192 -Xmx512m" From f997426bc65ef08d74bf308fc9eb90cfd163add3 Mon Sep 17 00:00:00 2001 From: Kamal Qureshi Date: Tue, 20 May 2025 14:29:00 +0500 Subject: [PATCH 10/13] Fix camera switching on scanner component --- .../comps/comps/buttonComp/scannerComp.tsx | 219 ++++++++++++------ 1 file changed, 144 insertions(+), 75 deletions(-) diff --git a/client/packages/lowcoder/src/comps/comps/buttonComp/scannerComp.tsx b/client/packages/lowcoder/src/comps/comps/buttonComp/scannerComp.tsx index 74f9f8a55..26b48474d 100644 --- a/client/packages/lowcoder/src/comps/comps/buttonComp/scannerComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/buttonComp/scannerComp.tsx @@ -1,6 +1,4 @@ import { default as Button } from "antd/es/button"; -import { default as Dropdown } from "antd/es/dropdown"; -import { default as Menu } from "antd/es/menu"; import { default as Skeleton } from "antd/es/skeleton"; import { Button100, @@ -14,16 +12,29 @@ import { DropdownStyle } from "comps/controls/styleControlConstants"; import { withDefault } from "comps/generators"; import { UICompBuilder } from "comps/generators/uiCompBuilder"; import { CustomModal, Section, sectionNames } from "lowcoder-design"; -import styled from "styled-components"; -import { CommonNameConfig, NameConfig, withExposingConfigs } from "../../generators/withExposing"; -import { hiddenPropertyView, disabledPropertyView, showDataLoadingIndicatorsPropertyView } from "comps/utils/propertyUtils"; +import styled, { keyframes } from "styled-components"; +import { + CommonNameConfig, + NameConfig, + withExposingConfigs, +} from "../../generators/withExposing"; +import { + hiddenPropertyView, + disabledPropertyView, + showDataLoadingIndicatorsPropertyView, +} from "comps/utils/propertyUtils"; import { trans } from "i18n"; -import React, { Suspense, useEffect, useRef, useState, useContext } from "react"; +import React, { + Suspense, + useEffect, + useRef, + useState, + useContext, +} from "react"; import { arrayStringExposingStateControl } from "comps/controls/codeStateControl"; import { BoolControl } from "comps/controls/boolControl"; -import type { ItemType } from "antd/es/menu/interface"; import { RefControl } from "comps/controls/refControl"; -import { EditorContext } from "comps/editorState"; +import { EditorContext } from "comps/editorState"; const Error = styled.div` color: #f5222d; @@ -51,6 +62,50 @@ const Wrapper = styled.div` } `; +const dropdownShow = keyframes` + from { + opacity: 0; + transform: translateY(-8px) scaleY(0.98); + } + to { + opacity: 1; + transform: translateY(0) scaleY(1); + } +`; + +const DropdownContainer = styled.div` + position: absolute; + top: 44px; + right: 0; + min-width: 150px; + background: #fff; + border: 1px solid #e0e0e0; + border-radius: 8px; + box-shadow: + 0 8px 24px rgba(0, 0, 0, 0.12), + 0 1.5px 3px rgba(0, 0, 0, 0.08); + z-index: 1000; + padding: 6px 0; + animation: ${dropdownShow} 0.22s cubic-bezier(0.22, 1, 0.36, 1); + transition: box-shadow 0.2s; +`; + +const DropdownItem = styled.div` + padding: 10px 20px; + cursor: pointer; + font-size: 14px; + color: #222; + background: transparent; + transition: background 0.15s; + &:hover { + background: #f0f5ff; + color: #1677ff; + } + &:active { + background: #e6f7ff; + } +`; + const CustomModalStyled = styled(CustomModal)` top: 10vh; .react-draggable { @@ -59,7 +114,9 @@ const CustomModalStyled = styled(CustomModal)` } `; -const BarcodeScannerComponent = React.lazy(() => import("react-qr-barcode-scanner")); +const BarcodeScannerComponent = React.lazy( + () => import("react-qr-barcode-scanner") +); const ScannerTmpComp = (function () { const childrenMap = { @@ -70,17 +127,20 @@ const ScannerTmpComp = (function () { maskClosable: withDefault(BoolControl, true), onEvent: ScannerEventHandlerControl, disabled: BoolCodeControl, - style: styleControl(DropdownStyle, 'style'), + style: styleControl(DropdownStyle, "style"), viewRef: RefControl, }; return new UICompBuilder(childrenMap, (props) => { const [showModal, setShowModal] = useState(false); const [errMessage, setErrMessage] = useState(""); - const [videoConstraints, setVideoConstraints] = useState({ - facingMode: "environment", - }); - const [modeList, setModeList] = useState([]); - const [dropdownShow, setDropdownShow] = useState(false); + const [videoConstraints, setVideoConstraints] = + useState({ + facingMode: "environment", + }); + const [modeList, setModeList] = useState<{ label: string; key: string }[]>( + [] + ); + const [handleDropdown, setHandleDropdown] = useState(false); const [success, setSuccess] = useState(false); useEffect(() => { @@ -92,7 +152,7 @@ const ScannerTmpComp = (function () { const continuousValue = useRef([]); const handleUpdate = (err: any, result: any) => { - if (!!result) { + if (result) { if (props.continuous) { continuousValue.current = [...continuousValue.current, result.text]; const val = props.uniqueData @@ -109,15 +169,16 @@ const ScannerTmpComp = (function () { setSuccess(false); } }; + const handleErr = (err: any) => { if (typeof err === "string") { setErrMessage(err); + } else if ( + err.message === "getUserMedia is not implemented in this browser" + ) { + setErrMessage(trans("scanner.errTip")); } else { - if (err.message === "getUserMedia is not implemented in this browser") { - setErrMessage(trans("scanner.errTip")); - } else { - setErrMessage(err.message); - } + setErrMessage(err.message); } setSuccess(false); }; @@ -157,6 +218,8 @@ const ScannerTmpComp = (function () { onCancel={() => { setShowModal(false); props.onEvent("close"); + setVideoConstraints({ facingMode: "environment" }); + setHandleDropdown(false); }} > {!!errMessage ? ( @@ -173,36 +236,33 @@ const ScannerTmpComp = (function () { videoConstraints={videoConstraints} /> -
{ - setDropdownShow(false); - }} - > - setDropdownShow(value)} - dropdownRender={() => ( - - setVideoConstraints({ ...videoConstraints, deviceId: value.key }) - } - /> - )} + +
+ - + {trans("scanner.changeCamera")} + + + {handleDropdown && ( + + {modeList.map(({ key, label }) => ( + { + setVideoConstraints({ deviceId: { exact: key } }); + setHandleDropdown(false); + }} + > + {label} + + ))} + + )}
) @@ -211,35 +271,44 @@ const ScannerTmpComp = (function () { ); }) - .setPropertyViewFn((children) => { - return ( - <> -
- {children.text.propertyView({ label: trans("text") })} -
+ .setPropertyViewFn((children) => ( + <> +
+ {children.text.propertyView({ label: trans("text") })} +
- {(useContext(EditorContext).editorModeStatus === "logic" || useContext(EditorContext).editorModeStatus === "both") && ( - <>
- {children.onEvent.getPropertyView()} - {disabledPropertyView(children)} - {hiddenPropertyView(children)} - {showDataLoadingIndicatorsPropertyView(children)} -
-
- {children.continuous.propertyView({ label: trans("scanner.continuous") })} + {(useContext(EditorContext).editorModeStatus === "logic" || + useContext(EditorContext).editorModeStatus === "both") && ( + <> +
+ {children.onEvent.getPropertyView()} + {disabledPropertyView(children)} + {hiddenPropertyView(children)} + {showDataLoadingIndicatorsPropertyView(children)} +
+
+ {children.continuous.propertyView({ + label: trans("scanner.continuous"), + })} {children.continuous.getView() && - children.uniqueData.propertyView({ label: trans("scanner.uniqueData") })} - {children.maskClosable.propertyView({ label: trans("scanner.maskClosable") })} + children.uniqueData.propertyView({ + label: trans("scanner.uniqueData"), + })} + {children.maskClosable.propertyView({ + label: trans("scanner.maskClosable"), + })}
- - )} + + )} - {(useContext(EditorContext).editorModeStatus === "layout" || useContext(EditorContext).editorModeStatus === "both") && ( - <>
{children.style.getPropertyView()}
- )} - - ); - }) + {(useContext(EditorContext).editorModeStatus === "layout" || + useContext(EditorContext).editorModeStatus === "both") && ( +
+ {children.style.getPropertyView()} +
+ )} + + )) .setExposeMethodConfigs(buttonRefMethods) .build(); })(); From 58fb137f43694f9a75f31633e4387151bda63f63 Mon Sep 17 00:00:00 2001 From: Kamal Qureshi Date: Tue, 20 May 2025 16:55:45 +0500 Subject: [PATCH 11/13] removed unnecessary files --- .github/workflows/sonarcloud.yml | 5 ++--- .../business-logic-in-apps/write-javascript/transformers.md | 2 +- .../use-third-party-libraries-in-apps/README.md | 6 +++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 55e2fcebc..9fddbce9a 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -20,7 +20,7 @@ jobs: java-version: 17 - uses: actions/checkout@v3 with: - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis ref: ${{ github.event.pull_request.head.sha }} - name: Build Java run: | @@ -28,6 +28,5 @@ jobs: - name: SonarCloud Scan uses: SonarSource/sonarcloud-github-action@master env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - SONAR_SCANNER_OPTS: "-Dsonar.javascript.node.maxspace=8192 -Xmx512m" diff --git a/docs/business-logic-in-apps/write-javascript/transformers.md b/docs/business-logic-in-apps/write-javascript/transformers.md index 0c0c3cd74..0c195ed41 100644 --- a/docs/business-logic-in-apps/write-javascript/transformers.md +++ b/docs/business-logic-in-apps/write-javascript/transformers.md @@ -6,7 +6,7 @@ Compared with inline code in `{{ }}`, transformer supports multi-line code block ## Quickstart -Click **+ New > Transformer** in a query editor to create a transformer. +Click **+ New > Transfromer** in a query editor to create a transformer. Then write your JS code in the transformer. You can click **Preview** to get the return value and access it by `transformerName.value` in your app. diff --git a/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md b/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md index ae0759dc9..6e60d0488 100644 --- a/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md +++ b/docs/lowcoder-extension/use-third-party-libraries-in-apps/README.md @@ -16,7 +16,7 @@ Lowcoder provides some JavaScript built-in libraries for use. Built-in Libraries can be used directly everywhere where you can use JavaScript. ``` -// lodash +// loadash return _.chunk(['a', 'b', 'c', 'd'], 2); // => [['a', 'b'], ['c', 'd']] @@ -107,11 +107,11 @@ You can check popular CDNs if they host your desired library as a minified packa ### Import / bind at the app level -Navigate to the Individualization page and then click the plus sign **+** under the **JavaScript library** tab. Paste the **library** link and click **Add New**. Lowcoder will now check, if the external library will be compatible and securely usable. +Navigate to the settings page and then click the plus sign **+** under the **JavaScript library** tab. Paste the **library** link and click **Add New**. Lowcoder will now check, if the external library will be compatible and securely usable. You can also click the download icon to quickly download any recommended JS library. -

Bind an external JS Library to an individual App

+

Bind an external JS Library to an individual App

Now, you can create a JS query and insert code. From 6e28c085c992dd801d82163602be80bd7c52e358 Mon Sep 17 00:00:00 2001 From: Kamal Qureshi Date: Tue, 20 May 2025 16:56:46 +0500 Subject: [PATCH 12/13] remove lint issues --- .github/workflows/sonarcloud.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 9fddbce9a..f5cdd5280 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -20,7 +20,7 @@ jobs: java-version: 17 - uses: actions/checkout@v3 with: - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis ref: ${{ github.event.pull_request.head.sha }} - name: Build Java run: | @@ -28,5 +28,5 @@ jobs: - name: SonarCloud Scan uses: SonarSource/sonarcloud-github-action@master env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} From 7fbdd10159ebbececbf3ef52729b1212ba2dccc9 Mon Sep 17 00:00:00 2001 From: Kamal Qureshi Date: Tue, 20 May 2025 17:03:52 +0500 Subject: [PATCH 13/13] removed binary files --- .../Individualization JavaScript Libraries | Bin 45852 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/.gitbook/assets/Individualization JavaScript Libraries diff --git a/docs/.gitbook/assets/Individualization JavaScript Libraries b/docs/.gitbook/assets/Individualization JavaScript Libraries deleted file mode 100644 index 8c2598f1cb337d00da091ad091c769658ed318ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45852 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