diff --git a/widgets/form/form.go b/widgets/form/form.go index d520bb1d..8b1d6877 100644 --- a/widgets/form/form.go +++ b/widgets/form/form.go @@ -237,7 +237,7 @@ func (dsl *DSL) Xgen() (map[string]interface{}, error) { } // Hooks - hooks := map[string]interface{}{} + onChange := map[string]interface{}{} setting["fields"] = fields setting["config"] = dsl.Config for _, cProp := range dsl.CProps { @@ -260,14 +260,14 @@ func (dsl *DSL) Xgen() (map[string]interface{}, error) { if cProp.Name == "on:change" { field := strings.TrimPrefix(cProp.Xpath, "fields.form.") field = strings.TrimSuffix(field, ".edit.props") - hooks[field] = map[string]interface{}{ + onChange[field] = map[string]interface{}{ "api": fmt.Sprintf("/api/__yao/form/%s%s", dsl.ID, cProp.Path()), "params": cProp.Query, } } } - setting["hooks"] = hooks + setting["hooks"] = map[string]interface{}{"onChange": onChange} setting["name"] = dsl.Name return setting, nil } diff --git a/widgets/form/process_test.go b/widgets/form/process_test.go index 22b2ab08..7670fce4 100644 --- a/widgets/form/process_test.go +++ b/widgets/form/process_test.go @@ -229,8 +229,8 @@ func TestProcessSetting(t *testing.T) { } data := any.Of(res).MapStr().Dot() - assert.Equal(t, "/api/__yao/form/pet/component/fields.form."+url.QueryEscape("住院天数")+".edit.props/"+url.QueryEscape("on:change"), data.Get("hooks.住院天数.api")) - assert.Equal(t, "开发者定义数据", data.Get("hooks.住院天数.params.extra")) + assert.Equal(t, "/api/__yao/form/pet/component/fields.form."+url.QueryEscape("住院天数")+".edit.props/"+url.QueryEscape("on:change"), data.Get("hooks.onChange.住院天数.api")) + assert.Equal(t, "开发者定义数据", data.Get("hooks.onChange.住院天数.params.extra")) assert.Equal(t, "/api/__yao/form/pet/component/fields.form."+url.QueryEscape("状态")+".edit.props.xProps/remote", data.Get("fields.form.状态.edit.props.xProps.remote.api")) assert.Equal(t, "/api/__yao/form/pet/upload/fields.form."+url.QueryEscape("相关图片")+".edit.props/api", data.Get("fields.form.相关图片.edit.props.api")) } @@ -246,8 +246,8 @@ func TestProcessXgen(t *testing.T) { } data := any.Of(res).MapStr().Dot() - assert.Equal(t, "/api/__yao/form/pet/component/fields.form."+url.QueryEscape("住院天数")+".edit.props/"+url.QueryEscape("on:change"), data.Get("hooks.住院天数.api")) - assert.Equal(t, "开发者定义数据", data.Get("hooks.住院天数.params.extra")) + assert.Equal(t, "/api/__yao/form/pet/component/fields.form."+url.QueryEscape("住院天数")+".edit.props/"+url.QueryEscape("on:change"), data.Get("hooks.onChange.住院天数.api")) + assert.Equal(t, "开发者定义数据", data.Get("hooks.onChange.住院天数.params.extra")) assert.Equal(t, "/api/__yao/form/pet/component/fields.form."+url.QueryEscape("状态")+".edit.props.xProps/remote", data.Get("fields.form.状态.edit.props.xProps.remote.api")) assert.Equal(t, "/api/__yao/form/pet/upload/fields.form."+url.QueryEscape("相关图片")+".edit.props/api", data.Get("fields.form.相关图片.edit.props.api")) }