diff --git a/src/data_management/geoblocks/buildComponents/GeoBlockBuildModal.module.css b/src/data_management/geoblocks/buildComponents/GeoBlockBuildModal.module.css
index fbd6ee8d0..c6765e0f3 100644
--- a/src/data_management/geoblocks/buildComponents/GeoBlockBuildModal.module.css
+++ b/src/data_management/geoblocks/buildComponents/GeoBlockBuildModal.module.css
@@ -1,8 +1,34 @@
.MainContainer {
- height: calc(100% - 60px);
+ height: 100%;
margin: 20px 40px;
+ display: grid;
+ grid-template-rows: 40px 1fr 60px;
+}
+
+.TabContainer {
+ display: grid;
+ grid-template-columns: 200px 200px;
+ grid-auto-rows: minmax(40px, 40px);
+}
+
+.TabContainer > div {
+ opacity: 0.34;
+ font-weight: 500;
+ text-transform: uppercase;
+ color: #FFFFFF;
+ padding: 0;
display: flex;
- flex-direction: column;
- justify-content: space-between;
- position: relative;
+ justify-content: center;
+ align-items: center;
+ background-color: var(--color-header);
+ border-radius: 10px 10px 0 0;
+ box-shadow: 6px 0px 5px #00000029;
+ cursor: pointer;
+}
+.TabContainer > div:nth-child(2) {
+ box-shadow: none;
+ border-radius: 10px 10px 0 0;
+}
+.SelectedTab {
+ opacity: 1 !important;
}
\ No newline at end of file
diff --git a/src/data_management/geoblocks/buildComponents/GeoBlockBuildModal.tsx b/src/data_management/geoblocks/buildComponents/GeoBlockBuildModal.tsx
index 8df7793b3..688aea048 100644
--- a/src/data_management/geoblocks/buildComponents/GeoBlockBuildModal.tsx
+++ b/src/data_management/geoblocks/buildComponents/GeoBlockBuildModal.tsx
@@ -59,6 +59,23 @@ function GeoBlockBuildModal (props: MyProps & DispatchProps) {
}}
>
+
+
{
+ const geoBlockSource = convertElementsToGeoBlockSource(elements, source, setSource);
+ if (geoBlockSource) setGeoBlockView('json');
+ }}
+ >
+ JSON Editor
+
+
setGeoBlockView('visual')}
+ >
+ Visual Editor
+
+
{geoBlockView === 'json' ? (
)}
-
+
-
-
-
{
- if (geoBlockView === 'visual') {
- const geoBlockSource = convertElementsToGeoBlockSource(elements, source, setSource);
- if (geoBlockSource) {
- props.onChange(geoBlockSource);
+
+
+ {
+ if (geoBlockView === 'visual') {
+ const geoBlockSource = convertElementsToGeoBlockSource(elements, source, setSource);
+ if (geoBlockSource) {
+ props.onChange(geoBlockSource);
+ props.handleClose();
+ };
+ } else {
+ props.onChange(source);
props.handleClose();
};
- } else {
- props.onChange(source);
- props.handleClose();
- };
- }}
- />
+ }}
+ />
+
diff --git a/src/data_management/geoblocks/buildComponents/GeoBlockJsonComponent.css b/src/data_management/geoblocks/buildComponents/GeoBlockJsonComponent.css
new file mode 100644
index 000000000..057531099
--- /dev/null
+++ b/src/data_management/geoblocks/buildComponents/GeoBlockJsonComponent.css
@@ -0,0 +1,8 @@
+#json-editor-container div.jsoneditor {
+ border: thin solid var(--color-header);
+}
+
+#json-editor-container div.jsoneditor-menu {
+ background-color: var(--color-header);
+ border: thin solid var(--color-header);
+}
\ No newline at end of file
diff --git a/src/data_management/geoblocks/buildComponents/GeoBlockJsonComponent.tsx b/src/data_management/geoblocks/buildComponents/GeoBlockJsonComponent.tsx
index 457658ed9..30802396f 100644
--- a/src/data_management/geoblocks/buildComponents/GeoBlockJsonComponent.tsx
+++ b/src/data_management/geoblocks/buildComponents/GeoBlockJsonComponent.tsx
@@ -4,6 +4,7 @@ import { GeoBlockSource } from '../../../types/geoBlockType';
import { JsonEditor } from 'jsoneditor-react';
import 'jsoneditor-react/es/editor.min.css';
import 'brace/mode/json';
+import './GeoBlockJsonComponent.css';
interface MyProps {
source: GeoBlockSource | null,
@@ -17,13 +18,12 @@ export const GeoBlockJsonComponent = (props: MyProps) => {
name={'source'}
value={source ? source : {}}
onChange={e => setSource(e)}
- allowedModes={['tree', 'code', 'text']}
+ mode={'code'}
+ allowedModes={['code', 'tree', 'text']}
ace={ace}
- htmlElementProps={{style: {
- position: 'absolute',
- width: '100%',
- height: '90%'
- }}}
+ htmlElementProps={{
+ id: 'json-editor-container'
+ }}
history
enableSort={false}
enableTransform={false}
diff --git a/src/data_management/geoblocks/buildComponents/GeoBlockVisualComponent.tsx b/src/data_management/geoblocks/buildComponents/GeoBlockVisualComponent.tsx
index 19640de15..09736d823 100644
--- a/src/data_management/geoblocks/buildComponents/GeoBlockVisualComponent.tsx
+++ b/src/data_management/geoblocks/buildComponents/GeoBlockVisualComponent.tsx
@@ -161,9 +161,7 @@ const GeoBlockVisualFlow = (props: MyProps & DispatchProps) => {
style={{
display: 'grid',
gridTemplateColumns: '1fr 150px',
- columnGap: 10,
- margin: '20px 0',
- height: 720
+ columnGap: 10
}}
>
{
onElementsRemove={onElementsRemove}
style={{
position: 'relative',
- border: '1px solid lightgrey',
- borderRadius: 10
+ border: 'thin solid var(--color-header)'
}}
snapToGrid
onEdgeUpdate={onEdgeUpdate}
diff --git a/src/data_management/geoblocks/buildComponents/blockComponents/SideBar.module.css b/src/data_management/geoblocks/buildComponents/blockComponents/SideBar.module.css
index 4a53e5a72..5f9c7dbc3 100644
--- a/src/data_management/geoblocks/buildComponents/blockComponents/SideBar.module.css
+++ b/src/data_management/geoblocks/buildComponents/blockComponents/SideBar.module.css
@@ -1,9 +1,8 @@
.SideBar {
- /* height: 600px; */
+ height: calc(100vh - 200px); /* without this, the overflow auto will not work */
display: flex;
flex-direction: column;
overflow-y: auto;
- position: relative;
}
.Block {
@@ -13,6 +12,8 @@
border-radius: 5px;
font-size: 12px;
margin-bottom: 10px;
+ overflow: hidden;
+ text-overflow: ellipsis;
cursor: pointer;
}
.Block:active {