Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit38b391c

Browse files
author
FalkWolsky
committed
Enabling tutorials from Supademo
1 parent0b99e61 commit38b391c

File tree

10 files changed

+222
-38
lines changed

10 files changed

+222
-38
lines changed

‎client/packages/lowcoder-comps/package.json‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,10 +197,10 @@
197197
}
198198
},
199199
"scripts": {
200-
"start":"NODE_OPTIONS=--max_old_space_size=12288 vite",
201-
"build":"yarn test && lowcoder-cli build",
202-
"build_only":"lowcoder-cli build",
203-
"build_publish":"lowcoder-cli build --publish",
200+
"start":"NODE_OPTIONS=--max_old_space_size=6442 vite",
201+
"build":"NODE_OPTIONS=--max_old_space_size=6442yarn test && lowcoder-cli build",
202+
"build_only":"NODE_OPTIONS=--max_old_space_size=6442lowcoder-cli build",
203+
"build_publish":"NODE_OPTIONS=--max_old_space_size=6442lowcoder-cli build --publish",
204204
"test":"jest"
205205
},
206206
"devDependencies": {

‎client/packages/lowcoder-sdk/package.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
}
2929
},
3030
"scripts": {
31-
"build":"vite build",
32-
"start":"vite"
31+
"build":"NODE_OPTIONS=--max_old_space_size=6442vite build",
32+
"start":"NODE_OPTIONS=--max_old_space_size=2048vite"
3333
},
3434
"devDependencies": {
3535
"@rollup/plugin-commonjs":"^22.0.2",

‎client/packages/lowcoder/src/comps/comps/dataChangeResponderComp.tsx‎

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { BottomResComp, BottomResCompResult, BottomResTypeEnum } from "types/bot
2121
import{setFieldsNoTypeCheck}from"util/objectUtils";
2222
import{QueryTutorials}from"util/tutorialUtils";
2323
import{SimpleNameComp}from"./simpleNameComp";
24+
importSupaDemoDisplayfrom"comps/utils/supademoDisplay";
2425

2526
constdataChangeEvent:EventConfigType={
2627
label:"onDataChange",
@@ -71,7 +72,15 @@ const DataResponderItemCompBase = new MultiCompBuilder(
7172
</QuerySectionWrapper>
7273
</QueryPropertyViewWrapper><><TacoMarkDown>{trans("dataResponder.documentationText")}</TacoMarkDown><DocLinkstyle={{marginTop:8}}href={QueryTutorials.dataResponder}title={trans("dataResponder.documentationText")}>
7374
{trans("dataResponder.docLink")}
74-
</DocLink></></>
75+
</DocLink><br/><br/>
76+
77+
<SupaDemoDisplay
78+
url={trans("supademos.dataresponder")}
79+
modalWidth="80%"
80+
modalTop="20px"
81+
/>
82+
83+
</></>
7584

7685
),
7786
},

‎client/packages/lowcoder/src/comps/comps/selectInputComp/selectCompConstants.tsx‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ import { blurMethod, focusMethod } from "comps/utils/methodUtils";
5959
import{useContext}from"react";
6060
import{EditorContext}from"comps/editorState";
6161
import{styleControl}from"comps/controls/styleControl";
62+
importSupaDemoDisplayfrom"comps/utils/supademoDisplay";
6263

6364
exportconstgetStyle=(
6465
style:

‎client/packages/lowcoder/src/comps/comps/temporaryStateComp.tsx‎

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ import { trans } from "i18n";
88
import_from"lodash";
99
import{DocLink}from"lowcoder-design";
1010
import{BottomTabs}from"pages/editor/bottom/BottomTabs";
11-
import{ReactNode}from"react";
11+
import{ReactNode,useState}from"react";
1212
import{BottomResComp,BottomResCompResult,BottomResTypeEnum}from"types/bottomRes";
1313
import{JSONObject}from"util/jsonTypes";
1414
import{QueryTutorials}from"util/tutorialUtils";
1515
import{SimpleNameComp}from"./simpleNameComp";
1616
import{markdownCompCss,TacoMarkDown}from"lowcoder-design";
17-
import{evalAndReduce}from"../utils";
17+
importSupaDemoDisplayfrom"comps/utils/supademoDisplay";
1818

1919
constTemporaryStateItemCompBase=newMultiCompBuilder(
2020
{
@@ -24,29 +24,51 @@ const TemporaryStateItemCompBase = new MultiCompBuilder(
2424
()=>null
2525
)
2626
.setPropertyViewFn((children)=>{
27-
return(
28-
<BottomTabs
29-
type={BottomResTypeEnum.TempState}
30-
tabsConfig={[
31-
{
32-
key:"general",
33-
title:trans("query.generalTab"),
34-
children:children.value.propertyView({
35-
label:trans("temporaryState.value"),
36-
tooltip:trans("temporaryState.valueTooltip"),
37-
placement:"bottom",
38-
extraChildren:QueryTutorials.tempState&&(
39-
<><br/><TacoMarkDown>{trans("temporaryState.documentationText")}</TacoMarkDown><br/><DocLinkstyle={{marginTop:8}}href={QueryTutorials.tempState}title={trans("temporaryState.documentationText")}>
40-
{trans("temporaryState.docLink")}
41-
</DocLink></>
42-
),
43-
}),
44-
},
45-
]}
46-
tabTitle={children.name.getView()}
47-
status=""
48-
/>
49-
);
27+
constPropertyViewWithModal=()=>{
28+
const[isOpen,setIsOpen]=useState(false);
29+
30+
consthandleOpen=()=>{
31+
setIsOpen(true);
32+
};
33+
34+
consthandleClose=()=>{
35+
setIsOpen(false);
36+
};
37+
38+
return(
39+
<BottomTabs
40+
type={BottomResTypeEnum.TempState}
41+
tabsConfig={[
42+
{
43+
key:"general",
44+
title:trans("query.generalTab"),
45+
children:children.value.propertyView({
46+
label:trans("temporaryState.value"),
47+
tooltip:trans("temporaryState.valueTooltip"),
48+
placement:"bottom",
49+
extraChildren:QueryTutorials.tempState&&(
50+
<><br/><TacoMarkDown>{trans("temporaryState.documentationText")}</TacoMarkDown><br/><DocLinkstyle={{marginTop:8}}href={QueryTutorials.tempState}title={trans("temporaryState.documentationText")}>
51+
{trans("temporaryState.docLink")}
52+
</DocLink><br/><br/>
53+
54+
<SupaDemoDisplay
55+
url={trans("supademos.temporarystate")}
56+
modalWidth="80%"
57+
modalTop="20px"
58+
/>
59+
60+
</>
61+
),
62+
}),
63+
},
64+
]}
65+
tabTitle={children.name.getView()}
66+
status=""
67+
/>
68+
);
69+
};
70+
71+
return<PropertyViewWithModal/>;
5072
})
5173
.build();
5274

‎client/packages/lowcoder/src/comps/comps/transformerListComp.tsx‎

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { BottomResComp, BottomResCompResult, BottomResTypeEnum } from "types/bot
1313
import{QueryTutorials}from"util/tutorialUtils";
1414
import{SimpleNameComp}from"./simpleNameComp";
1515
import{markdownCompCss,TacoMarkDown}from"lowcoder-design";
16+
importSupaDemoDisplayfrom"comps/utils/supademoDisplay";
1617

1718
constTransformerItemCompBase=newMultiCompBuilder(
1819
{
@@ -44,7 +45,15 @@ const TransformerItemCompBase = new MultiCompBuilder(
4445
<><br/><TacoMarkDown>{trans("transformer.documentationText")}</TacoMarkDown>
4546
<DocLinkstyle={{marginTop:8}}href={QueryTutorials.transformer}title={trans("transformer.documentationText")}>
4647
{trans("transformer.docLink")}
47-
</DocLink></>
48+
</DocLink><br/><br/>
49+
50+
<SupaDemoDisplay
51+
url={trans("supademos.transformer")}
52+
modalWidth="80%"
53+
modalTop="20px"
54+
/>
55+
56+
</>
4857
)}
4958
</div>
5059
),

‎client/packages/lowcoder/src/comps/queries/queryComp/queryPropertyView.tsx‎

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import { QueryComp } from "../queryComp";
3131
import{ResourceDropdown}from"../resourceDropdown";
3232
import{NOT_SUPPORT_GUI_SQL_QUERY,SQLQuery}from"../sqlQuery/SQLQuery";
3333
import{StreamQuery}from"../httpQuery/streamQuery";
34+
importSupaDemoDisplayfrom"../../utils/supademoDisplay";
3435

3536
exportfunctionQueryPropertyView(props:{comp:InstanceType<typeofQueryComp>}){
3637
const{ comp}=props;
@@ -362,6 +363,72 @@ export const QueryGeneralPropertyView = (props: {
362363
</QueryConfigLabel>
363364
{children.onEvent.getPropertyView()}
364365
</QueryConfigWrapper>
366+
367+
<br/>
368+
369+
{["postgres","mysql","mssql","oracle","mariadb"].includes(datasourceType)&&(
370+
<SupaDemoDisplay
371+
url={trans("supademos.dataquery2table")}
372+
modalWidth="80%"
373+
modalTop="20px"
374+
/>
375+
)}
376+
{datasourceType==="restApi"&&(
377+
<SupaDemoDisplay
378+
url={trans("supademos.restApiQuery")}
379+
modalWidth="80%"
380+
modalTop="20px"
381+
/>
382+
)}
383+
{/* {datasourceType === "js" && (
384+
<SupaDemoDisplay
385+
url={trans("supademos.jsQuery")}
386+
modalWidth="80%"
387+
modalTop="20px"
388+
/>
389+
)}
390+
{datasourceType === "streamApi" && (
391+
<SupaDemoDisplay
392+
url={trans("supademos.streamApiQuery")}
393+
modalWidth="80%"
394+
modalTop="20px"
395+
/>
396+
)}
397+
{datasourceType === "mongodb" && (
398+
<SupaDemoDisplay
399+
url={trans("supademos.mongodbQuery")}
400+
modalWidth="80%"
401+
modalTop="20px"
402+
/>
403+
)}
404+
{datasourceType === "libraryQuery" && (
405+
<SupaDemoDisplay
406+
url={trans("supademos.libraryQuery")}
407+
modalWidth="80%"
408+
modalTop="20px"
409+
/>
410+
)}
411+
{datasourceType === "googleSheets" && (
412+
<SupaDemoDisplay
413+
url={trans("supademos.googleSheets")}
414+
modalWidth="80%"
415+
modalTop="20px"
416+
/>
417+
)}
418+
{datasourceType === "graphql" && (
419+
<SupaDemoDisplay
420+
url={trans("supademos.graphqlQuery")}
421+
modalWidth="80%"
422+
modalTop="20px"
423+
/>
424+
)}
425+
{datasourceType === "snowflake" && (
426+
<SupaDemoDisplay
427+
url={trans("supademos.snowflakeQuery")}
428+
modalWidth="80%"
429+
modalTop="20px"
430+
/>
431+
)} */}
365432
</QuerySectionWrapper>
366433
)}
367434
</QueryPropertyViewWrapper>

‎client/packages/lowcoder/src/comps/queries/sqlQuery/SQLQuery.tsx‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { trans } from "i18n";
2222
import{ColumnNameDropdown}from"./columnNameDropdown";
2323
importReact,{useContext}from"react";
2424
import{QueryContext}from"util/context/QueryContext";
25+
importSupaDemoDisplayfrom"comps/utils/supademoDisplay";
2526

2627
constAllowMultiModifyComp=withPropertyViewFn(BoolPureControl,(comp)=>
2728
comp.propertyView({
@@ -140,6 +141,7 @@ const CommandMap = {
140141
label={trans("sqlQuery.primaryKeyColumn")}
141142
/>
142143
{children.records.getPropertyView()}
144+
143145
</>
144146
))
145147
.build(),
@@ -176,7 +178,7 @@ const SQLQueryPropertyView = (props: { comp: InstanceType<typeof SQLQuery> }) =>
176178
{children.mode.getView()==="SQL" ?(
177179
children.sql.propertyView({
178180
placement:"bottom",
179-
placeholder:"SELECT * FROM users;",
181+
placeholder:"SELECT * FROM users WHERE user_id = {{userId}}::uuid",
180182
styleName:"medium",
181183
language:"sql",
182184
enableMetaCompletion:true,
@@ -212,10 +214,12 @@ const SQLQueryPropertyView = (props: { comp: InstanceType<typeof SQLQuery> }) =>
212214
});
213215
}}
214216
/>
217+
215218
{children.command.getPropertyView()}
216219
</>
217220
)}
218221
</>
222+
219223
);
220224
};
221225

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
importReact,{useState}from'react';
2+
import{Modal,Button,Tooltip}from'antd';
3+
import{InfoCircleOutlined}from'@ant-design/icons';
4+
import{trans}from'i18n';// Adjust this import according to your project's structure
5+
6+
interfaceSupaDemoDisplayProps{
7+
url:string;
8+
modalWidth?:string;
9+
modalTop?:string;
10+
showText?:boolean;
11+
}
12+
13+
constSupaDemoDisplay=({ url, modalWidth='75%', modalTop='6%', showText=true}:SupaDemoDisplayProps)=>{
14+
const[isOpen,setIsOpen]=useState(false);
15+
16+
consthandleOpen=()=>{
17+
setIsOpen(true);
18+
};
19+
20+
consthandleClose=()=>{
21+
setIsOpen(false);
22+
};
23+
24+
return(
25+
<div>
26+
<Tooltiptitle={trans("editorTutorials.interactiveDemoToolTip")}>
27+
<Buttontype="primary"shape="circle"icon={<InfoCircleOutlined/>}style={{paddingTop:"5px"}}onClick={handleOpen}/>
28+
{showText&&<spanstyle={{marginLeft:8}}onClick={handleOpen}>{trans("editorTutorials.interactiveDemo")}</span>}
29+
</Tooltip>
30+
<Modal
31+
title={trans("editorTutorials.interactiveDemo")}
32+
open={isOpen}
33+
onCancel={handleClose}
34+
width={modalWidth}
35+
style={{top:modalTop}}
36+
okButtonProps={{style:{display:'none'}}}
37+
cancelButtonProps={{style:{display:'none'}}}
38+
bodyStyle={{padding:0}}
39+
>
40+
<divstyle={{position:'relative',boxSizing:'content-box',maxHeight:'80vh',width:'100%',aspectRatio:'1.7712177121771218',padding:'40px 0'}}>
41+
<iframe
42+
src={url}
43+
loading="lazy"
44+
title="Temporary State Usage"
45+
allow="clipboard-write"
46+
frameBorder="0"
47+
allowFullScreen
48+
style={{position:'absolute',top:0,left:0,width:'100%',height:'100%'}}
49+
></iframe>
50+
</div>
51+
</Modal>
52+
</div>
53+
);
54+
};
55+
56+
exportdefaultSupaDemoDisplay;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp