Skip to content

Commit 873783e

Browse files
committed
feat(platform): EnterApp: add "defer load monaco"
1 parent cec3243 commit 873783e

File tree

5 files changed

+47
-46
lines changed

5 files changed

+47
-46
lines changed

doc/1.3.0.org

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -670,13 +670,18 @@ run p
670670
*** DONE fix Enter Final App: not found
671671

672672

673-
*** TODO fix EnterApp
673+
*** DONE fix EnterApp
674+
675+
TODO add monaco
674676

675677
run test:
676678
run editor
677679

678680

679681

682+
TODO refactor: deferLoad duplicate
683+
684+
680685
*** TODO update engine-whole
681686

682687
# TODO add onInit, update script job

platform/frontend/src/external_layer/ui/app/assemble_space/components/element_assemble/code_edit/CodeEdit.res

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -102,30 +102,6 @@ module Method = {
102102

103103
Js.Promise.resolve()
104104
}
105-
106-
let getMonaco = %raw(`
107-
function (){
108-
return globalThis["meta3d_monaco"]
109-
}
110-
`)
111-
112-
let setMonaco = %raw(`
113-
function (monaco){
114-
globalThis["meta3d_monaco"] = monaco
115-
}
116-
`)
117-
118-
let deferLoad = %raw(`
119-
function (){
120-
return import(
121-
/* webpackPrefetch: true */"monaco-editor/esm/vs/editor/editor.api.js"
122-
).then(value =>{
123-
setMonaco(value)
124-
125-
return value
126-
})
127-
}
128-
`)
129105
}
130106

131107
@react.component
@@ -137,9 +113,9 @@ let make = (~service: service, ~code, ~getNewCodeFunc) => {
137113

138114
service.react.useEffect1(. () => {
139115
MessageUtils.showCatchedErrorMessage(() => {
140-
switch Method.getMonaco()->Meta3dCommonlib.OptionSt.fromNullable {
116+
switch MonaoUtils.getMonaco()->Meta3dCommonlib.OptionSt.fromNullable {
141117
| None =>
142-
Method.deferLoad()->Js.Promise.then_(
118+
MonaoUtils.deferLoad()->Js.Promise.then_(
143119
value => {
144120
value->Js.Promise.resolve
145121
},

platform/frontend/src/external_layer/ui/app/assemble_space/components/element_assemble/run_element_visual/components/RunElementVisual.res

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -97,24 +97,6 @@ module Method = {
9797
}, _)
9898
}
9999

100-
let setMonaco = %raw(`
101-
function (monaco){
102-
globalThis["meta3d_monaco"] = monaco
103-
}
104-
`)
105-
106-
let deferLoad = %raw(`
107-
function (){
108-
return import(
109-
/* webpackPrefetch: true */"monaco-editor/esm/vs/editor/editor.api.js"
110-
).then(value =>{
111-
setMonaco(value)
112-
113-
return value
114-
})
115-
}
116-
`)
117-
118100
// let useSelector = (
119101
// {apAssembleState, elementAssembleState}: AssembleSpaceStoreType.state,
120102
// ) => {
@@ -143,7 +125,7 @@ let make = (~service: AssembleSpaceType.service) => {
143125

144126
service.react.useEffect1(. () => {
145127
MessageUtils.showCatchedErrorMessage(() => {
146-
Method.deferLoad()
128+
MonaoUtils.deferLoad()
147129
->Js.Promise.catch(
148130
e => {
149131
service.console.errorWithExn(. e->Error.promiseErrorToExn, None)->Obj.magic

platform/frontend/src/external_layer/ui/app/enter_app/components/EnterApp.res

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,21 @@ let make = (~service: FrontendType.service) => {
2222
(meta3dState, startPackageProtocolName, (canvasData, configData))
2323
}
2424

25+
React.useEffect1(() => {
26+
MessageUtils.showCatchedErrorMessage(() => {
27+
MonaoUtils.deferLoad()
28+
->Js.Promise.catch(
29+
e => {
30+
service.console.errorWithExn(. e->Error.promiseErrorToExn, None)->Obj.magic
31+
},
32+
_,
33+
)
34+
->ignore
35+
}, 5->Some)
36+
37+
None
38+
}, [])
39+
2540
React.useEffect1(() => {
2641
MessageUtils.showCatchedErrorMessage(() => {
2742
let account = UrlSearchUtils.get(url.search, "account")
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
let getMonaco = %raw(`
2+
function (){
3+
return globalThis["meta3d_monaco"]
4+
}
5+
`)
6+
7+
let _setMonaco = %raw(`
8+
function (monaco){
9+
globalThis["meta3d_monaco"] = monaco
10+
}
11+
`)
12+
13+
let deferLoad = %raw(`
14+
function (){
15+
return import(
16+
/* webpackPrefetch: true */"monaco-editor/esm/vs/editor/editor.api.js"
17+
).then(value =>{
18+
_setMonaco(value)
19+
20+
return value
21+
})
22+
}
23+
`)

0 commit comments

Comments
 (0)