diff --git a/dist/base.js b/dist/base.js index cb0193a..eca69e1 100644 --- a/dist/base.js +++ b/dist/base.js @@ -128,10 +128,14 @@ @@ -214,20 +222,22 @@ }; state.Component.register("AutoForm", (container) => { if (!container.state.schema) container.state.schema = []; + const ensureProxy = (v) => v && typeof v === "object" && !v.__isProxy ? state.NewState(v) : v; + container.state.__watch("data", (v) => container.data = ensureProxy(v)); + container.data = ensureProxy(container.state.data || {}); container.vertical = container.hasAttribute("vertical"); container.inline = container.hasAttribute("inline"); - container.nobutton = container.hasAttribute("nobutton"); container.request = { method: "POST" }; container.response = {}; container.result = null; - Object.defineProperty(container, "data", { - get: () => container.state.data, - set: (v) => { - container.state.data = (v == null ? void 0 : v.__isProxy) ? v : state.NewState(v || {}); - } - }); - container.data = container.data || {}; - container._thisObj = container; + if (container.inline) { + state.State.__watch("editingData", (data) => { + container.data = data; + }); + state.State.__watch("editingSchema", (schema) => { + container.state.schema = schema; + }); + } container.form = state.$(container, "form"); container.submit = (opt = {}) => { var _a, _b; @@ -253,33 +263,64 @@ /*html*/ `
-
-