fix
This commit is contained in:
parent
248dc7d9d0
commit
0532bf3f48
|
|
@ -30,7 +30,7 @@ export const EdMid: FC<{}> = () => {
|
||||||
<div className="border-r border-r-slate-100 text-slate-400 text-[9px] flex items-center px-1 mr-1">
|
<div className="border-r border-r-slate-100 text-slate-400 text-[9px] flex items-center px-1 mr-1">
|
||||||
ADD
|
ADD
|
||||||
</div>
|
</div>
|
||||||
{!active.comp_id && <EdAddSection />}
|
<EdAddSection />
|
||||||
<EdAddItem />
|
<EdAddItem />
|
||||||
<EdAddText />
|
<EdAddText />
|
||||||
<EdCompPicker />
|
<EdCompPicker />
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,42 @@
|
||||||
import { IMeta, PG, active } from "../ed-global";
|
import { IMeta, PG, active } from "../ed-global";
|
||||||
|
|
||||||
export const activateMeta = (p: PG, meta: IMeta) => {
|
export const activateMeta = (p: PG, _meta: IMeta) => {
|
||||||
|
let meta = _meta;
|
||||||
let parent_comp_id = meta.parent?.comp_id;
|
let parent_comp_id = meta.parent?.comp_id;
|
||||||
|
|
||||||
|
if (!active.comp_id && meta.parent?.comp_id) {
|
||||||
|
let parent = meta.parent;
|
||||||
|
|
||||||
|
let is_jsx = false;
|
||||||
|
let i = 0;
|
||||||
|
while (parent) {
|
||||||
|
const meta_parent = p.page.meta[parent.id];
|
||||||
|
|
||||||
|
if (meta_parent && meta_parent.parent) {
|
||||||
|
if (meta_parent.jsx_prop) {
|
||||||
|
is_jsx = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
parent = meta_parent.parent;
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i > 10000) {
|
||||||
|
console.warn("warning cyclic item tree possibility detected.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_jsx) {
|
||||||
|
if (meta.parent.instance_id) {
|
||||||
|
meta = p.page.meta[meta.parent.instance_id];
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
active.comp_id &&
|
active.comp_id &&
|
||||||
meta.item.component?.id === active.comp_id &&
|
meta.item.component?.id === active.comp_id &&
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,12 @@ export const EdAddSection = () => {
|
||||||
return (
|
return (
|
||||||
<TopBtn
|
<TopBtn
|
||||||
style="slim"
|
style="slim"
|
||||||
onClick={() => {
|
className={cx(active.comp_id && "opacity-20")}
|
||||||
|
onClick={async () => {
|
||||||
|
if (active.comp_id) {
|
||||||
|
alert("Cannot add section while editing component");
|
||||||
|
return;
|
||||||
|
}
|
||||||
const json = {
|
const json = {
|
||||||
id: createId(),
|
id: createId(),
|
||||||
name: `New Section`,
|
name: `New Section`,
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,12 @@ export const EdAddText = () => {
|
||||||
return (
|
return (
|
||||||
<TopBtn
|
<TopBtn
|
||||||
style="slim"
|
style="slim"
|
||||||
|
className={cx(active.comp_id && "opacity-20")}
|
||||||
onClick={async () => {
|
onClick={async () => {
|
||||||
|
if (active.comp_id) {
|
||||||
|
alert("Cannot add text while editing component");
|
||||||
|
return;
|
||||||
|
}
|
||||||
let meta = getActiveMeta(p);
|
let meta = getActiveMeta(p);
|
||||||
|
|
||||||
if (!meta) {
|
if (!meta) {
|
||||||
|
|
@ -76,7 +81,7 @@ export const EdAddText = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mitem) {
|
if (mitem) {
|
||||||
if (mitem.get("type") === "section") {
|
if ((mitem as any).get("type") === "section") {
|
||||||
const json = {
|
const json = {
|
||||||
id: createId(),
|
id: createId(),
|
||||||
name: `new_item`,
|
name: `new_item`,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue