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 {