feat: Add data mapping options and improve layout in BlockEditor
This commit is contained in:
@@ -35,6 +35,7 @@ const BlockEditor: React.FC<BlockEditorProps> = ({
|
|||||||
}) => {
|
}) => {
|
||||||
|
|
||||||
const [selectType, setSelectType] = useState("data")
|
const [selectType, setSelectType] = useState("data")
|
||||||
|
const [selectDataMapping, setSelectDataMapping] = useState("singleMachine")
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div ref={blockEditorRef} className="panel block-editor-panel">
|
<div ref={blockEditorRef} className="panel block-editor-panel">
|
||||||
@@ -349,66 +350,121 @@ const BlockEditor: React.FC<BlockEditorProps> = ({
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* <div className="data-mapping">
|
{/* Data Mapping */}
|
||||||
|
<div className="data-mapping">
|
||||||
<div className="heading">Data Mapping</div>
|
<div className="heading">Data Mapping</div>
|
||||||
|
|
||||||
<div className="type-switch">
|
<div className="type-switch">
|
||||||
<div
|
<div
|
||||||
className={`type active`}
|
className={`type ${selectDataMapping === "singleMachine" ? "active" : ""}`}
|
||||||
onClick={() => setSelectType("design")}
|
onClick={() => setSelectDataMapping("singleMachine")}
|
||||||
>
|
>
|
||||||
Single Machine
|
Single Machine
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`type`}
|
className={`type ${selectDataMapping === "multipleeMachine" ? "active" : ""}`}
|
||||||
onClick={() => setSelectType("data")}
|
onClick={() => setSelectDataMapping("multipleeMachine")}
|
||||||
>
|
>
|
||||||
Multiple Machine
|
Multiple Machine
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="fields-wrapper">
|
{selectDataMapping === "singleMachine" && (
|
||||||
<div className="datas">
|
<div className="fields-wrapper">
|
||||||
<div className="datas__label">Data Source</div>
|
<div className="datas">
|
||||||
<div className="datas__class">
|
<div className="datas__label">Data Source</div>
|
||||||
<RegularDropDown
|
<div className="datas__class">
|
||||||
header={"Select value"}
|
<RegularDropDown
|
||||||
options={["1h", "2h", "12h"]}
|
header={"Select value"}
|
||||||
onSelect={() => { }}
|
options={["1h", "2h", "12h"]}
|
||||||
search={false}
|
onSelect={() => { }}
|
||||||
/>
|
search={false}
|
||||||
|
/>
|
||||||
|
<div className="icon"><EyeDroperIcon isActive={false} /></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div className="datas">
|
||||||
<div className="datas">
|
<div className="datas__label">Input 1</div>
|
||||||
<div className="datas__label">Input 1</div>
|
<div className="datas__class">
|
||||||
<div className="datas__class">
|
<RegularDropDown
|
||||||
<RegularDropDown
|
header={"Select value"}
|
||||||
header={"Select value"}
|
options={["1h", "2h", "12h"]}
|
||||||
options={["1h", "2h", "12h"]}
|
onSelect={() => { }}
|
||||||
onSelect={() => { }}
|
search={false}
|
||||||
search={false}
|
/>
|
||||||
/>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div className="datas">
|
||||||
<div className="datas">
|
<div className="datas__label">Input 2</div>
|
||||||
<div className="datas__label">Input 2</div>
|
<div className="datas__class">
|
||||||
<div className="datas__class">
|
<RegularDropDown
|
||||||
<RegularDropDown
|
header={"Select value"}
|
||||||
header={"Select value"}
|
options={["1h", "2h", "12h"]}
|
||||||
options={["1h", "2h", "12h"]}
|
onSelect={() => { }}
|
||||||
onSelect={() => { }}
|
search={false}
|
||||||
search={false}
|
/>
|
||||||
/>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="add-field">
|
<div className="add-field">
|
||||||
<div className="icon"><AddIcon /></div>
|
<div className="icon"><AddIcon /></div>
|
||||||
<div className="label">Add Field</div>
|
<div className="label">Add Field</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div> */}
|
)}
|
||||||
|
|
||||||
|
{selectDataMapping === "multipleeMachine" && (
|
||||||
|
<div className="fields-wrapper">
|
||||||
|
<div className="datas">
|
||||||
|
<div className="datas__label">Common Value</div>
|
||||||
|
<div className="datas__class">
|
||||||
|
<RegularDropDown
|
||||||
|
header={"Select value"}
|
||||||
|
options={["1h", "2h", "12h"]}
|
||||||
|
onSelect={() => { }}
|
||||||
|
search={false}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="datas">
|
||||||
|
<div className="datas__label">Data Source</div>
|
||||||
|
<div className="datas__class">
|
||||||
|
<RegularDropDown
|
||||||
|
header={"Select assets"}
|
||||||
|
options={["1h", "2h", "12h"]}
|
||||||
|
onSelect={() => { }}
|
||||||
|
search={false}
|
||||||
|
/>
|
||||||
|
<div className="icon"><EyeDroperIcon isActive={false} /></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="datas">
|
||||||
|
<div className="datas__label">Data Source</div>
|
||||||
|
<div className="datas__class">
|
||||||
|
<RegularDropDown
|
||||||
|
header={"Select assets"}
|
||||||
|
options={["1h", "2h", "12h"]}
|
||||||
|
onSelect={() => { }}
|
||||||
|
search={false}
|
||||||
|
/>
|
||||||
|
<div className="icon"><EyeDroperIcon isActive={false} /></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="add-field">
|
||||||
|
<div className="icon"><AddIcon /></div>
|
||||||
|
<div className="label">Add Field</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -318,8 +318,8 @@
|
|||||||
min-width: 280px;
|
min-width: 280px;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
min-width: 320px;
|
min-width: 320px;
|
||||||
min-height: 70vh;
|
min-height: 60vh;
|
||||||
padding: 20px 8px;
|
padding: 12px;
|
||||||
// h4 {
|
// h4 {
|
||||||
// color: #4caf50;
|
// color: #4caf50;
|
||||||
// }
|
// }
|
||||||
@@ -402,12 +402,23 @@
|
|||||||
.datas {
|
.datas {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
padding: 6px 12px;
|
padding: 6px 12px;
|
||||||
|
|
||||||
.datas__label,
|
.datas__label,
|
||||||
.datas__class {
|
.datas__class {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.datas__label {
|
||||||
|
flex: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.datas__class {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.add-field {
|
.add-field {
|
||||||
@@ -746,7 +757,7 @@
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.data-section-count{
|
.data-section-count {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user