[change] form setting

This commit is contained in:
Max 2022-12-08 11:40:39 +08:00
parent 7ba65f8c68
commit 52e229115c
2 changed files with 7 additions and 7 deletions

View file

@ -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
}

View file

@ -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"))
}