diff --git a/web/package.json b/web/package.json
index e086c74..c8a3c8f 100644
--- a/web/package.json
+++ b/web/package.json
@@ -14,6 +14,7 @@
},
"dependencies": {
"@material-ui/core": "^4.11.0",
+ "@monaco-editor/react": "^4.0.11",
"@redwoodjs/auth": "^0.26.2",
"@redwoodjs/forms": "^0.26.2",
"@redwoodjs/router": "^0.26.2",
diff --git a/web/src/components/IdeContainer/IdeContainer.js b/web/src/components/IdeContainer/IdeContainer.js
index 4db9ab9..7a8a45d 100644
--- a/web/src/components/IdeContainer/IdeContainer.js
+++ b/web/src/components/IdeContainer/IdeContainer.js
@@ -15,10 +15,10 @@ const ELEMENT_MAP = {
const IdeContainer = () => {
const { state, dispatch } = useContext(IdeContext)
- return (
+ return (
(
-
+
{ ELEMENT_MAP[id] }
)}
diff --git a/web/src/components/IdeEditor/IdeEditor.js b/web/src/components/IdeEditor/IdeEditor.js
index 1b6658f..5686eba 100644
--- a/web/src/components/IdeEditor/IdeEditor.js
+++ b/web/src/components/IdeEditor/IdeEditor.js
@@ -1,28 +1,20 @@
import { useContext } from 'react'
import { IdeContext } from 'src/components/IdeToolbarNew'
+import Editor from '@monaco-editor/react'
const IdeEditor = () => {
const { state, dispatch } = useContext(IdeContext)
+
+ function handleCodeChange(value, _event) {
+ dispatch({ type: 'updateCode', payload: target.value })
+ }
+
return (
-
-
hi I'm editor
-
code:
-
- dispatch({ type: 'updateCode', payload: target.value })
- }
- />
-
-
+
)
}
diff --git a/web/src/components/IdeToolbarNew/IdeToolbarNew.js b/web/src/components/IdeToolbarNew/IdeToolbarNew.js
index 6289117..0b18e68 100644
--- a/web/src/components/IdeToolbarNew/IdeToolbarNew.js
+++ b/web/src/components/IdeToolbarNew/IdeToolbarNew.js
@@ -7,6 +7,7 @@ export const IdeContext = createContext()
const IdeToolbarNew = () => {
const [state, dispatch] = useIdeState()
function setIdeType(ide) { dispatch({ type: 'setIdeType', payload: { message: ide } }) }
+ function handleRender() { dispatch({ type: 'render', payload: { code: state.code } }) }
return (
@@ -15,6 +16,7 @@ const IdeToolbarNew = () => {
diff --git a/web/src/index.css b/web/src/index.css
index affc6ce..650d409 100644
--- a/web/src/index.css
+++ b/web/src/index.css
@@ -96,3 +96,8 @@ label {
input.error, textarea.error {
border: 1px solid red;
}
+
+/* used in IdeContainer component */
+#cadhub-ide .mosaic-window.console .mosaic-window-body {
+ overflow-y: auto;
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 77b7aec..7e0df01 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2102,6 +2102,22 @@
prop-types "^15.7.2"
react-is "^16.8.0"
+"@monaco-editor/loader@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.0.0.tgz#c7ea78ef07cebcae83d92bbfe2bddab563468102"
+ integrity sha512-CA35bf5Y7wFWfeJZfkLslOxiatln3oTBKkfbdo+TF5H+UdPP96qHvhOUjjd1DeQ2NWsRkVPSnoSYek7NE5B26w==
+ dependencies:
+ state-local "^1.0.6"
+
+"@monaco-editor/react@^4.0.11":
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.0.11.tgz#e5f9f651988f2f73ac776ffb8391e81d121d5c32"
+ integrity sha512-IxGpfvCx9p5bTI+T8i7KPbvqsNppUYMT6xA6u65BKmI3/mrlRVFdDyzZTcd+SAAs+5n7n0m/gzAoeglUL+lWDQ==
+ dependencies:
+ "@monaco-editor/loader" "^1.0.0"
+ prop-types "^15.7.2"
+ state-local "^1.0.7"
+
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@@ -15484,6 +15500,11 @@ stackframe@^1.1.1:
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303"
integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==
+state-local@^1.0.6, state-local@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5"
+ integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==
+
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"