diff --git a/app/web/src/render/ed/logic/tree/build.tsx b/app/web/src/render/ed/logic/tree/build.tsx
index 0db0c7b2..80af2109 100644
--- a/app/web/src/render/ed/logic/tree/build.tsx
+++ b/app/web/src/render/ed/logic/tree/build.tsx
@@ -33,10 +33,16 @@ export const treeRebuild = async (p: PG) => {
})
);
- for (const [k, v] of Object.entries(portal.out)) {
+ for (const [k, portal_out] of Object.entries(portal.out)) {
const name = k.replace(/⮕/gi, "").trim();
const portal_in = portal.in[`⬅${name}`];
if (portal_in) {
+ for (const key of Object.keys(portal_in)) {
+ delete (portal_in as any)[key];
+ }
+ for (const [k, v] of Object.entries(portal_out)) {
+ (portal_in as any)[k] = v;
+ }
}
}
}
diff --git a/app/web/src/render/editor/editor.tsx b/app/web/src/render/editor/editor.tsx
index 6602c042..12a81847 100644
--- a/app/web/src/render/editor/editor.tsx
+++ b/app/web/src/render/editor/editor.tsx
@@ -99,19 +99,21 @@ export const Editor: FC<{ site_id: string; page_id: string; session: any }> = ({
}
if (p.status === "init") {
- (window as any).mok = ((window as any).mok || 0) + 1;
- p.ui.loading = ;
- p.ui.preload = ;
- p.ui.notfound = (
-
NOT FOUND
- );
- p.ui.error = (
-
- PREVIEW ERROR
-
- );
- p.status = "loading";
- initEditor(p, site_id);
+ if (p.ui) {
+ (window as any).mok = ((window as any).mok || 0) + 1;
+ p.ui.loading = ;
+ p.ui.preload = ;
+ p.ui.notfound = (
+ NOT FOUND
+ );
+ p.ui.error = (
+
+ PREVIEW ERROR
+
+ );
+ p.status = "loading";
+ initEditor(p, site_id);
+ }
}
routeEditor(p, page_id);
diff --git a/app/web/src/render/editor/elements/e-render.tsx b/app/web/src/render/editor/elements/e-render.tsx
index 6fee9b70..5ae80cab 100644
--- a/app/web/src/render/editor/elements/e-render.tsx
+++ b/app/web/src/render/editor/elements/e-render.tsx
@@ -41,6 +41,7 @@ export const ERender: FC<{
item.adv.js.startsWith("newElement")
) {
const mitem = meta.mitem;
+
if (mitem && item.type === "item") {
(async () => {
let childs: any[] = [];
diff --git a/app/web/src/render/editor/logic/tree-prop.tsx b/app/web/src/render/editor/logic/tree-prop.tsx
index 0761555f..42789e8e 100644
--- a/app/web/src/render/editor/logic/tree-prop.tsx
+++ b/app/web/src/render/editor/logic/tree-prop.tsx
@@ -59,12 +59,16 @@ export const treePropEval = (
value = {
_jsx: true,
Comp: ({
+ prop_name,
parent_id,
_scopeIndex,
}: {
+ prop_name: string;
parent_id: string;
_scopeIndex?: Record;
}) => {
+ console.log(prop_name);
+
if (prop.content) {
const meta = p.treeMeta[prop.content.id];
if (meta) {
diff --git a/app/web/src/render/editor/logic/tree-scope.tsx b/app/web/src/render/editor/logic/tree-scope.tsx
index 9b3bd462..b7a6d35e 100644
--- a/app/web/src/render/editor/logic/tree-scope.tsx
+++ b/app/web/src/render/editor/logic/tree-scope.tsx
@@ -41,11 +41,19 @@ export const treeScopeEval = (
if (v && typeof v === "object") {
const t: {
_jsx: true;
- Comp: FC<{ parent_id: string; _scopeIndex?: Record }>;
+ Comp: FC<{
+ prop_name: string;
+ parent_id: string;
+ _scopeIndex?: Record;
+ }>;
} = v as any;
if (t._jsx && t.Comp) {
finalScope[k] = (
-
+
);
}
}
diff --git a/app/web/src/render/editor/logic/ws.ts b/app/web/src/render/editor/logic/ws.ts
index c9de14c8..3ff2fabf 100644
--- a/app/web/src/render/editor/logic/ws.ts
+++ b/app/web/src/render/editor/logic/ws.ts
@@ -101,6 +101,8 @@ export const editorWS = async (p: PG) => {
}, 5000);
const decoder = new TextDecoder();
ws.addEventListener("message", async (e) => {
+ if (!e.data || !e.data.arrayBuffer) return;
+
const raw = decoder.decode(
decompress(new Uint8Array(await e.data.arrayBuffer()))
);
diff --git a/app/web/src/render/editor/panel/toolbar/center/AddElement.tsx b/app/web/src/render/editor/panel/toolbar/center/AddElement.tsx
index 29d96856..86b7e4a9 100644
--- a/app/web/src/render/editor/panel/toolbar/center/AddElement.tsx
+++ b/app/web/src/render/editor/panel/toolbar/center/AddElement.tsx
@@ -50,7 +50,7 @@ export const AddElement: FC<{}> = ({}) => {
id: createId(),
name: `New Text`,
type: "text",
- dim: { w: "full", h: "fit" },
+ dim: { w: "full", h: "full" },
layout: { align: "center", dir: "col", gap: 0 },
text: "",
html: "",
@@ -122,7 +122,7 @@ export const AddElement: FC<{}> = ({}) => {
id: createId(),
name: `New Item`,
type: "item",
- dim: { w: "fit", h: "fit" },
+ dim: { w: "full", h: "full" },
childs: [],
adv: {
css: "",
diff --git a/app/web/src/render/editor/panel/tree/item/action.tsx b/app/web/src/render/editor/panel/tree/item/action.tsx
index ae40be87..ea8c6b20 100644
--- a/app/web/src/render/editor/panel/tree/item/action.tsx
+++ b/app/web/src/render/editor/panel/tree/item/action.tsx
@@ -89,9 +89,7 @@ export const ETreeItemAction: FC<{
onClick={async () => {
if (mitem) {
const ijson = mitem.toJSON() as IItem;
-
mitem.doc?.transact(() => {
- mitem.set("childs", new Y.Array());
syncronize(mitem as any, {
...resetJSXProp,
name: ijson.name,