wip fix
This commit is contained in:
parent
44759a8fb1
commit
7c8d772d3f
|
|
@ -106,12 +106,20 @@ export const SyncActions = {
|
||||||
value: Uint8Array;
|
value: Uint8Array;
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: "prop";
|
type: "prop-master";
|
||||||
comp_id: string;
|
comp_id: string;
|
||||||
prop_name: string;
|
prop_name: string;
|
||||||
prop_kind: PropFieldKind;
|
prop_kind: PropFieldKind;
|
||||||
value: Uint8Array;
|
value: Uint8Array;
|
||||||
}
|
}
|
||||||
|
| {
|
||||||
|
type: "prop-instance";
|
||||||
|
item_id: string;
|
||||||
|
page_id?: string;
|
||||||
|
comp_id?: string;
|
||||||
|
prop_name: string;
|
||||||
|
value: Uint8Array;
|
||||||
|
}
|
||||||
) => ({}) as boolean | ParsedScope,
|
) => ({}) as boolean | ParsedScope,
|
||||||
parse: async (code: string | Record<string, string>) =>
|
parse: async (code: string | Record<string, string>) =>
|
||||||
({}) as Record<string, ReturnType<typeof parseJs>>,
|
({}) as Record<string, ReturnType<typeof parseJs>>,
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@ export const code_edit: SAction["code"]["edit"] = async function (
|
||||||
) {
|
) {
|
||||||
const src = decoder.decode(await gunzipAsync(arg.value));
|
const src = decoder.decode(await gunzipAsync(arg.value));
|
||||||
|
|
||||||
if (arg.type === "adv") {
|
if (arg.type === "adv" || arg.type === "prop-instance") {
|
||||||
const { item_id, mode, comp_id, page_id } = arg;
|
const { item_id, comp_id, page_id } = arg;
|
||||||
|
|
||||||
let root = undefined as undefined | MRoot | MItem;
|
let root = undefined as undefined | MRoot | MItem;
|
||||||
let doc = undefined as undefined | Doc;
|
let doc = undefined as undefined | Doc;
|
||||||
|
|
@ -38,43 +38,64 @@ export const code_edit: SAction["code"]["edit"] = async function (
|
||||||
|
|
||||||
if (root) {
|
if (root) {
|
||||||
const mitem = findId(root, item_id);
|
const mitem = findId(root, item_id);
|
||||||
|
|
||||||
if (mitem) {
|
if (mitem) {
|
||||||
let adv = mitem.get("adv");
|
if (arg.type === "adv") {
|
||||||
if (!adv) {
|
const mode = arg.mode;
|
||||||
mitem.set("adv", new Y.Map() as any);
|
let adv = mitem.get("adv");
|
||||||
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) {
|
|
||||||
adv.set(mode, src);
|
|
||||||
if (mode === "js") {
|
|
||||||
adv.set("jsBuilt", res.code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} catch (e) {
|
|
||||||
g.log.error(e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode === "js") {
|
if (adv) {
|
||||||
return parseJs(adv.get("js")) || false;
|
try {
|
||||||
|
const res = await transform(`render(${src})`, {
|
||||||
|
jsx: "transform",
|
||||||
|
format: "cjs",
|
||||||
|
loader: "tsx",
|
||||||
|
minify: true,
|
||||||
|
sourcemap: "inline",
|
||||||
|
});
|
||||||
|
|
||||||
|
doc?.transact(() => {
|
||||||
|
if (adv) {
|
||||||
|
adv.set(mode, src);
|
||||||
|
if (mode === "js") {
|
||||||
|
adv.set("jsBuilt", res.code);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
g.log.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode === "js") {
|
||||||
|
return parseJs(adv.get("js")) || false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const mprop = mitem
|
||||||
|
.get("component")
|
||||||
|
?.get("props")
|
||||||
|
?.get(arg.prop_name);
|
||||||
|
if (mprop) {
|
||||||
|
try {
|
||||||
|
const res = await transform(`return ${src}`, {
|
||||||
|
jsx: "transform",
|
||||||
|
format: "cjs",
|
||||||
|
loader: "tsx",
|
||||||
|
});
|
||||||
|
|
||||||
|
doc?.transact(() => {
|
||||||
|
mprop.set("value", src);
|
||||||
|
mprop.set("valueBuilt", res.code.substring(6));
|
||||||
|
});
|
||||||
|
} catch (e) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else if (arg.type === "prop-master") {
|
||||||
const { comp_id, prop_kind, prop_name } = arg;
|
const { comp_id, prop_kind, prop_name } = arg;
|
||||||
if (comp_id) {
|
if (comp_id) {
|
||||||
const ref = docs.comp[comp_id];
|
const ref = docs.comp[comp_id];
|
||||||
|
|
|
||||||
|
|
@ -209,6 +209,15 @@ export const EdScriptMonaco: FC<{}> = () => {
|
||||||
value: compress(encode.encode(val || "")),
|
value: compress(encode.encode(val || "")),
|
||||||
...arg,
|
...arg,
|
||||||
});
|
});
|
||||||
|
} else if (p.ui.popup.script.type === "prop-instance") {
|
||||||
|
scope = await p.sync.code.edit({
|
||||||
|
type: "adv",
|
||||||
|
mode: type,
|
||||||
|
prop_name: p.ui.popup.script.prop_name,
|
||||||
|
item_id: active.item_id,
|
||||||
|
value: compress(encode.encode(val || "")),
|
||||||
|
...arg,
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
scope = await p.sync.code.edit({
|
scope = await p.sync.code.edit({
|
||||||
type: "adv",
|
type: "adv",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue