diff --git a/app/srv/ws/sync/actions/code_edit.ts b/app/srv/ws/sync/actions/code_edit.ts
index 485ac1f0..5cdf0b84 100644
--- a/app/srv/ws/sync/actions/code_edit.ts
+++ b/app/srv/ws/sync/actions/code_edit.ts
@@ -41,39 +41,41 @@ export const code_edit: SAction["code"]["edit"] = async function (
if (mitem) {
if (arg.type === "adv") {
- const mode = arg.mode;
- let adv = mitem.get("adv");
- if (!adv) {
- mitem.set("adv", new Y.Map() as any);
- adv = mitem.get("adv");
- }
+ const res = await transform(`render(${src})`, {
+ jsx: "transform",
+ format: "cjs",
+ loader: "tsx",
+ minify: true,
+ sourcemap: "inline",
+ });
+ doc?.transact(() => {
+ const mode = arg.mode;
+ let adv = mitem.get("adv");
+ if (!adv) {
+ mitem.set("adv", new Y.Map() as any);
+ adv = mitem.get("adv");
+ }
- if (adv) {
- try {
- const res = await transform(`render(${src})`, {
- jsx: "transform",
- format: "cjs",
- loader: "tsx",
- minify: true,
- sourcemap: "inline",
- });
-
- doc?.transact(() => {
+ if (adv) {
+ try {
if (adv) {
adv.set(mode, src);
if (mode === "js") {
adv.set("jsBuilt", res.code);
}
}
- });
- } catch (e) {
- g.log.error(e);
- }
+ } catch (e) {
+ g.log.error(e);
+ }
- if (mode === "js") {
- return parseJs(adv.get("js")) || false;
+ if (mode === "js") {
+ const res = parseJs(adv.get("js")) || false;
+ if (res) {
+ mitem.set("script", res);
+ }
+ }
}
- }
+ });
} else {
const mprop = mitem
.get("component")
diff --git a/app/srv/ws/sync/editor/prep-page.ts b/app/srv/ws/sync/editor/prep-page.ts
index d7bbd583..ceb8b39e 100644
--- a/app/srv/ws/sync/editor/prep-page.ts
+++ b/app/srv/ws/sync/editor/prep-page.ts
@@ -31,8 +31,8 @@ export const prepContentTree = async (
meta,
on: {
visit(meta, item) {
- if (meta.item.adv?.js) {
- meta.item.script = parseJs(meta.item.adv.js);
+ if (item.adv?.js) {
+ item.script = parseJs(item.adv.js);
}
if (item.component?.id) {
diff --git a/app/web/src/nova/ed/panel/popup/script/scope/map-exim.tsx b/app/web/src/nova/ed/panel/popup/script/scope/map-exim.tsx
index 0ee69777..c664b374 100644
--- a/app/web/src/nova/ed/panel/popup/script/scope/map-exim.tsx
+++ b/app/web/src/nova/ed/panel/popup/script/scope/map-exim.tsx
@@ -21,6 +21,8 @@ export const scopeMapExportImport = (p: PG, meta: IMeta, parents: IMeta[]) => {
}
}
+ console.log(def);
+
if (def) {
const ex = extractExportImport(p, m, imports);
if (next_parent) {
diff --git a/app/web/src/nova/ed/panel/popup/script/scope/scope.tsx b/app/web/src/nova/ed/panel/popup/script/scope/scope.tsx
index b9513181..64dd5e5f 100644
--- a/app/web/src/nova/ed/panel/popup/script/scope/scope.tsx
+++ b/app/web/src/nova/ed/panel/popup/script/scope/scope.tsx
@@ -47,7 +47,6 @@ export const declareScope = async (
for (const [filename, src] of Object.entries(v)) {
if (!added.has(filename)) {
added.add(filename);
-
addScope(p, monaco, filename, src);
}
}
diff --git a/app/web/src/nova/ed/panel/popup/script/snippet.tsx b/app/web/src/nova/ed/panel/popup/script/snippet.tsx
index e566b550..9dd83e8f 100644
--- a/app/web/src/nova/ed/panel/popup/script/snippet.tsx
+++ b/app/web/src/nova/ed/panel/popup/script/snippet.tsx
@@ -46,7 +46,7 @@ effect={async (local) => {
onClick={() => {
p.script.do_edit(
`\
-
+
`,
false
);
diff --git a/app/web/src/utils/types/item.ts b/app/web/src/utils/types/item.ts
index 1f5b1b08..679c8063 100644
--- a/app/web/src/utils/types/item.ts
+++ b/app/web/src/utils/types/item.ts
@@ -10,7 +10,6 @@ export type IItem = {
linktag?: FNLinkTag;
mobile?: IItem;
adv?: FNAdv;
- script?: ReturnType;
type: "item";
component?: FNComponent;
childs: (IItem | IText)[];
diff --git a/app/web/src/utils/types/meta.ts b/app/web/src/utils/types/meta.ts
index 67730b65..ba9372e2 100644
--- a/app/web/src/utils/types/meta.ts
+++ b/app/web/src/utils/types/meta.ts
@@ -1,3 +1,4 @@
+import { parseJs } from "../../../../srv/ws/sync/editor/parser/parse-js";
import {
FMAdv,
FMBackground,
@@ -32,6 +33,7 @@ export type BasicItem = {
font?: FNFont;
dim?: FNDimension;
border?: FNBorder;
+ script?: ReturnType;
};
export type MBasicItem = {
@@ -41,7 +43,7 @@ export type MBasicItem = {
component?: FMComponent;
dim?: FMDimension;
layout?: FMLayout;
- linktag?: FMLinkTag;
adv?: FMAdv;
border?: FMBorder;
+ script?: ReturnType;
};