Skip to content

Commit 84e1903

Browse files
author
FalkWolsky
committed
Adapting KeyValueListControl for better imports
1 parent 8071763 commit 84e1903

File tree

13 files changed

+75
-65
lines changed

13 files changed

+75
-65
lines changed

client/packages/lowcoder/src/comps/comps/allComp.test.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,16 @@ const COMPS_MAP = {
5151
string: StringControl,
5252
test: TestComp,
5353
input: InputComp,
54-
// query: QueryComp,
55-
// js: JSQuery,
56-
// mysql: SQLQuery,
57-
// params: ParamsStringControl,
58-
// layout: AppLayoutComp,
59-
// root: RootComp,
60-
// listView: ListViewComp,
61-
// table: TableComp,
62-
// tableColumn: ColumnComp,
63-
// tableColumnRender: RenderComp,
54+
query: QueryComp,
55+
js: JSQuery,
56+
mysql: SQLQuery,
57+
params: ParamsStringControl,
58+
layout: AppLayoutComp,
59+
root: RootComp,
60+
listView: ListViewComp,
61+
table: TableComp,
62+
tableColumn: ColumnComp,
63+
tableColumnRender: RenderComp,
6464
} as Record<string, CompConstructor>;
6565

6666
Object.entries(uiCompRegistry).forEach(async ([key, value]) => {

client/packages/lowcoder/src/comps/comps/layout/layoutActionComp.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Dropdown } from "components/Dropdown";
33
import { StringControl } from "comps/controls/codeControl";
44
import { BranchDiv, Treediv } from "components/Trees";
55
import { AppSelectComp } from "comps/comps/layout/appSelectComp";
6-
import { keyValueListControl } from "comps/controls/keyValueControl";
6+
import { keyValueListControl } from "comps/controls/keyValueListControl";
77
import { trans } from "i18n";
88
import { KeyValue } from "types/common";
99
import { keyValueListToSearchStr } from "util/appUtils";

client/packages/lowcoder/src/comps/controls/actionSelector/executeQueryAction.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import { BranchDiv, Dropdown } from "lowcoder-design";
77
import { BottomResTypeEnum } from "types/bottomRes";
88
import { getPromiseAfterDispatch } from "util/promiseUtils";
99
import { trans } from "i18n";
10-
import {keyValueListControl, keyValueListToSearchStr, withDefault} from "lowcoder-sdk";
11-
import {KeyValue} from "@lowcoder-ee/types/common";
12-
import { useCallback, useContext, useEffect, useMemo } from "react";
10+
import { withDefault } from "comps/generators";
11+
import { keyValueListControl} from "comps/controls/keyValueListControl";
12+
import { useCallback } from "react";
1313

1414
const ExecuteQueryPropertyView = ({
1515
comp,

client/packages/lowcoder/src/comps/controls/actionSelector/goToURLAction.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { BranchDiv } from "lowcoder-design";
44
import { KeyValue } from "types/common";
55
import { BoolControl } from "comps/controls/boolControl";
66
import { StringControl } from "comps/controls/codeControl";
7-
import { keyValueListControl } from "../keyValueControl";
7+
import { keyValueListControl } from "../keyValueListControl";
88
import { keyValueListToSearchStr } from "../../../util/appUtils";
99
import { trans } from "i18n";
1010

client/packages/lowcoder/src/comps/controls/actionSelector/openAppAction.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { BranchDiv } from "lowcoder-design";
44
import { KeyValue } from "types/common";
55
import ApplicationSelectControl from "../appSelectControl";
66
import { BoolControl } from "../boolControl";
7-
import { keyValueListControl } from "../keyValueControl";
7+
import { keyValueListControl } from "../keyValueListControl";
88
import { keyValueListToSearchStr, openApp } from "../../../util/appUtils";
99
import { trans } from "i18n";
1010

client/packages/lowcoder/src/comps/controls/keyValueControl.tsx

Lines changed: 3 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
import { ControlPropertyViewWrapper, KeyValueList, OptionsType } from "lowcoder-design";
1+
import { OptionsType } from "lowcoder-design";
22
import { ReactNode } from "react";
33
import styled from "styled-components";
44
import { MultiCompBuilder } from "../generators";
5-
import { list } from "../generators/list";
65
import { StringControl } from "./codeControl";
76
import { ControlParams } from "./controlParams";
87
import { dropdownControl } from "./dropdownControl";
9-
import { ParamsControlType, ParamsStringControl } from "./paramsControl";
10-
import { FunctionProperty } from "../queries/queryCompUtils";
8+
import { ParamsStringControl } from "./paramsControl";
119

1210
const KeyValueWrapper = styled.div`
1311
display: flex;
@@ -57,7 +55,7 @@ export type KeyValueControlParams = ControlParams & {
5755
* controlType: params output: {key: {"1+2": () => "3"}, value: {"-1": () => "-1"}}
5856
* controlType: string output: {key: "xxx", value: "xxxx"}
5957
*/
60-
function keyValueControl<T extends OptionsType>(
58+
export function keyValueControl<T extends OptionsType>(
6159
hasType: boolean = false,
6260
types: T,
6361
controlType: "params" | "string" = "params"
@@ -112,42 +110,3 @@ function keyValueControl<T extends OptionsType>(
112110
};
113111
}
114112

115-
/**
116-
* Provides a list of kv input boxes with add and delete buttons
117-
* output [{key: "", value: ""}, {key: "", value: ""}]
118-
*/
119-
export function keyValueListControl<T extends OptionsType>(
120-
hasType: boolean = false,
121-
types: T | OptionsType = [],
122-
controlType: "params" | "string" = "params"
123-
) {
124-
return class extends list(keyValueControl(hasType, types, controlType)) {
125-
getQueryParams() {
126-
if (controlType === "params") {
127-
return this.getView().reduce(
128-
(result: FunctionProperty[], kv) => [
129-
...result,
130-
...(kv.children.key as InstanceType<ParamsControlType>).getQueryParams(),
131-
...(kv.children.value as InstanceType<ParamsControlType>).getQueryParams(),
132-
],
133-
[]
134-
);
135-
}
136-
return [];
137-
}
138-
139-
propertyView(params: KeyValueControlParams): ReactNode {
140-
return (
141-
<ControlPropertyViewWrapper {...params}>
142-
<KeyValueList
143-
list={this.getView().map((child) => child.propertyView(params))}
144-
onAdd={() => this.dispatch(this.pushAction({}))}
145-
onDelete={(item, index) => this.dispatch(this.deleteAction(index))}
146-
isStatic={params.isStatic}
147-
indicatorForAll={params.indicatorForAll}
148-
/>
149-
</ControlPropertyViewWrapper>
150-
);
151-
}
152-
};
153-
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import { ControlPropertyViewWrapper, KeyValueList, OptionsType } from "lowcoder-design";
2+
import { ReactNode } from "react";
3+
import styled from "styled-components";
4+
import { list } from "../generators/list";
5+
import { ControlParams } from "./controlParams";
6+
import { ParamsControlType, ParamsStringControl } from "./paramsControl";
7+
import { FunctionProperty } from "../queries/queryCompUtils";
8+
import { keyValueControl, KeyValueControlParams } from "./keyValueControl"
9+
10+
/**
11+
* Provides a list of kv input boxes with add and delete buttons
12+
* output [{key: "", value: ""}, {key: "", value: ""}]
13+
*/
14+
export function keyValueListControl<T extends OptionsType>(
15+
hasType: boolean = false,
16+
types: T | OptionsType = [],
17+
controlType: "params" | "string" = "params"
18+
) {
19+
return class extends list(keyValueControl(hasType, types, controlType)) {
20+
getQueryParams() {
21+
if (controlType === "params") {
22+
return this.getView().reduce(
23+
(result: FunctionProperty[], kv) => [
24+
...result,
25+
...(kv.children.key as InstanceType<ParamsControlType>).getQueryParams(),
26+
...(kv.children.value as InstanceType<ParamsControlType>).getQueryParams(),
27+
],
28+
[]
29+
);
30+
}
31+
return [];
32+
}
33+
34+
propertyView(params: KeyValueControlParams): ReactNode {
35+
return (
36+
<ControlPropertyViewWrapper {...params}>
37+
<KeyValueList
38+
list={this.getView().map((child) => child.propertyView(params))}
39+
onAdd={() => this.dispatch(this.pushAction({}))}
40+
onDelete={(item, index) => this.dispatch(this.deleteAction(index))}
41+
isStatic={params.isStatic}
42+
indicatorForAll={params.indicatorForAll}
43+
/>
44+
</ControlPropertyViewWrapper>
45+
);
46+
}
47+
};
48+
}

client/packages/lowcoder/src/comps/queries/httpQuery/graphqlQuery.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { QueryConfigItemWrapper, QueryConfigLabel, QueryConfigWrapper } from "co
55
import { simpleMultiComp } from "comps/generators/multi";
66
import { ReactNode } from "react";
77
import { JSONValue } from "../../../util/jsonTypes";
8-
import { keyValueListControl } from "../../controls/keyValueControl";
8+
import { keyValueListControl } from "../../controls/keyValueListControl";
99
import { ParamsJsonControl, ParamsStringControl } from "../../controls/paramsControl";
1010
import { list } from "../../generators/list";
1111
import { valueComp, withDefault } from "../../generators/simpleGenerators";

client/packages/lowcoder/src/comps/queries/httpQuery/httpQuery.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { valueComp, withDefault } from "comps/generators";
44
import { trans } from "i18n";
55
import { includes } from "lodash";
66
import { CompAction, MultiBaseComp } from "lowcoder-core";
7-
import { keyValueListControl } from "../../controls/keyValueControl";
7+
import { keyValueListControl } from "../../controls/keyValueListControl";
88
import { ParamsJsonControl, ParamsStringControl } from "../../controls/paramsControl";
99
import { withTypeAndChildrenAbstract } from "../../generators/withType";
1010
import { toQueryView } from "../queryCompUtils";

client/packages/lowcoder/src/comps/queries/pluginQuery/pluginQuery.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ import { CompConstructor } from "lowcoder-core";
2929
import { dropdownControl } from "comps/controls/dropdownControl";
3030
import { ControlParams, ControlType } from "comps/controls/controlParams";
3131
import MarkdownTooltip from "lowcoder-design/src/components/MarkdownTooltip";
32-
import { KeyValueControlParams, keyValueListControl } from "comps/controls/keyValueControl";
32+
import { KeyValueControlParams } from "comps/controls/keyValueControl";
33+
import { keyValueListControl } from "comps/controls/keyValueListControl";
3334
import { VariablesControl } from "../httpQuery/graphqlQuery";
3435
import { HttpHeaderPropertyView } from "../httpQuery/httpQueryConstants";
3536

client/packages/lowcoder/src/comps/queries/queryComp/variablesComp.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {MultiCompBuilder, withDefault} from "../../generators";
2-
import {keyValueListControl} from "lowcoder-sdk";
2+
import { keyValueListControl } from "../../controls/keyValueListControl";
33

44
export const VariablesComp = new MultiCompBuilder(
55
{

client/packages/lowcoder/src/i18n/locales/en.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -855,7 +855,8 @@ export const en = {
855855
"categoryDocumentHandling" : "Report & Document Generation",
856856
"categoryRPA" : "Robotic Process Automation",
857857
"componentsUsingQueryTitle" : "Query Usage",
858-
"componentsUsingQuery" : "Where is this Query in use"
858+
"componentsUsingQuery" : "Where is this Query in use",
859+
"query.variables" : "Variables"
859860
},
860861

861862

client/packages/lowcoder/src/index.sdk.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ export * from "comps/controls/actionSelector/actionSelectorControl";
9393
export * from "comps/controls/iconControl";
9494
export * from "comps/controls/shapeControl";
9595
export * from "comps/controls/keyValueControl";
96+
export * from "comps/controls/keyValueListControl";
9697
export * from "comps/controls/labelControl";
9798
export * from "comps/controls/millisecondControl";
9899
export * from "comps/controls/optionsControl";

0 commit comments

Comments
 (0)