[add] migrate widget
This commit is contained in:
parent
f2b31c17db
commit
a9d5e8dd42
3 changed files with 64 additions and 62 deletions
2
Makefile
2
Makefile
|
|
@ -9,7 +9,7 @@ COMMIT := $(shell git log | head -n 1 | awk '{print substr($$2, 0, 12)}')
|
||||||
NOW := $(shell date +"%FT%T%z")
|
NOW := $(shell date +"%FT%T%z")
|
||||||
|
|
||||||
# ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
|
# ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
|
||||||
TESTFOLDER := $(shell $(GO) list ./... | grep -E 'api|model|flow|script|fs|i18n|connector|query|plugin|cert|crypto|task|schedule|runtime|helper|utils' | grep -vE 'examples|tests*|config|widgets')
|
TESTFOLDER := $(shell $(GO) list ./... | grep -E 'api|model|flow|script|fs|i18n|connector|query|plugin|cert|crypto|task|schedule|runtime|helper|utils|widget' | grep -vE 'examples|tests*|config|widgets')
|
||||||
TESTTAGS ?= ""
|
TESTTAGS ?= ""
|
||||||
|
|
||||||
# TESTWIDGETS := $(shell $(GO) list ./widgets/...)
|
# TESTWIDGETS := $(shell $(GO) list ./widgets/...)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package widget
|
package widget
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/yaoapp/gou/application"
|
"github.com/yaoapp/gou/application"
|
||||||
"github.com/yaoapp/gou/widget"
|
"github.com/yaoapp/gou/widget"
|
||||||
"github.com/yaoapp/yao/config"
|
"github.com/yaoapp/yao/config"
|
||||||
|
|
@ -10,14 +12,15 @@ import (
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
register := moduleRegister()
|
register := moduleRegister()
|
||||||
|
|
||||||
return application.App.Walk("widgets", func(root, file string, isdir bool) error {
|
return application.App.Walk("widgets", func(root, file string, isdir bool) error {
|
||||||
if !isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
_, err := widget.Load(file, nil, register)
|
path := filepath.Dir(file)
|
||||||
|
_, err := widget.Load(path, nil, register)
|
||||||
return err
|
return err
|
||||||
}, config.DSLExtensions...)
|
|
||||||
|
}, "widget.yao", "widget.json", "widget.jsonc")
|
||||||
|
|
||||||
// var root = filepath.Join(cfg.Root, "widgets")
|
// var root = filepath.Join(cfg.Root, "widgets")
|
||||||
// return LoadFrom(root)
|
// return LoadFrom(root)
|
||||||
|
|
@ -64,48 +67,46 @@ func Load(cfg config.Config) error {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
func moduleRegister() widget.ModuleRegister {
|
func moduleRegister() widget.ModuleRegister {
|
||||||
// return widget.ModuleRegister{
|
return widget.ModuleRegister{
|
||||||
// "Apis": func(name string, source []byte) error {
|
// "Apis": func(name string, source []byte) error {
|
||||||
// _, err := api.Load(string(source), name)
|
// _, err := api.Load(string(source), name)
|
||||||
// log.Trace("[Widget] Register api %s", name)
|
// log.Trace("[Widget] Register api %s", name)
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// log.Error("[Widget] Register api %s %v", name, err)
|
// log.Error("[Widget] Register api %s %v", name, err)
|
||||||
// }
|
// }
|
||||||
// return err
|
// return err
|
||||||
// },
|
// },
|
||||||
// "Models": func(name string, source []byte) error {
|
// "Models": func(name string, source []byte) error {
|
||||||
// _, err := model.Load(string(source), name)
|
// _, err := model.Load(string(source), name)
|
||||||
// log.Trace("[Widget] Register model %s", name)
|
// log.Trace("[Widget] Register model %s", name)
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// log.Error("[Widget] Register model %s %v", name, err)
|
// log.Error("[Widget] Register model %s %v", name, err)
|
||||||
// }
|
// }
|
||||||
// return err
|
// return err
|
||||||
// },
|
// },
|
||||||
// "Tables": func(name string, source []byte) error {
|
// "Tables": func(name string, source []byte) error {
|
||||||
// log.Trace("[Widget] Register table %s", name)
|
// log.Trace("[Widget] Register table %s", name)
|
||||||
// _, err := table.LoadTable(string(source), name)
|
// _, err := table.LoadTable(string(source), name)
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// log.Error("[Widget] Register table %s %v", name, err)
|
// log.Error("[Widget] Register table %s %v", name, err)
|
||||||
// }
|
// }
|
||||||
// return nil
|
// return nil
|
||||||
// },
|
// },
|
||||||
// "Tasks": func(name string, source []byte) error {
|
// "Tasks": func(name string, source []byte) error {
|
||||||
// log.Trace("[Widget] Register task %s", name)
|
// log.Trace("[Widget] Register task %s", name)
|
||||||
// _, err := gou.LoadTask(string(source), name)
|
// _, err := gou.LoadTask(string(source), name)
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// log.Error("[Widget] Register task %s %v", name, err)
|
// log.Error("[Widget] Register task %s %v", name, err)
|
||||||
// }
|
// }
|
||||||
// return nil
|
// return nil
|
||||||
// },
|
// },
|
||||||
// "Schedules": func(name string, source []byte) error {
|
// "Schedules": func(name string, source []byte) error {
|
||||||
// log.Trace("[Widget] Register schedule %s", name)
|
// log.Trace("[Widget] Register schedule %s", name)
|
||||||
// _, err := gou.LoadSchedule(string(source), name)
|
// _, err := gou.LoadSchedule(string(source), name)
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// log.Error("[Widget] Register schedule %s %v", name, err)
|
// log.Error("[Widget] Register schedule %s %v", name, err)
|
||||||
// }
|
// }
|
||||||
// return nil
|
// return nil
|
||||||
// },
|
// },
|
||||||
// }
|
}
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,23 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/yaoapp/gou/process"
|
"github.com/yaoapp/gou/widget"
|
||||||
"github.com/yaoapp/kun/any"
|
|
||||||
"github.com/yaoapp/yao/config"
|
"github.com/yaoapp/yao/config"
|
||||||
"github.com/yaoapp/yao/share"
|
"github.com/yaoapp/yao/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLoad(t *testing.T) {
|
func TestLoad(t *testing.T) {
|
||||||
// runtime.Load(config.Conf)
|
test.Prepare(t, config.Conf)
|
||||||
share.DBConnect(config.Conf.DB) // 创建数据库连接
|
defer test.Clean()
|
||||||
Load(config.Conf)
|
|
||||||
v, err := process.New("widgets.dyform.Save", "pad", "pay").Exec()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
res := any.Of(v).Map()
|
Load(config.Conf)
|
||||||
assert.Equal(t, "pad", res.Get("instance"))
|
check(t)
|
||||||
assert.Equal(t, "pay", res.Get("payload"))
|
}
|
||||||
|
|
||||||
|
func check(t *testing.T) {
|
||||||
|
ids := map[string]bool{}
|
||||||
|
for id := range widget.Widgets {
|
||||||
|
ids[id] = true
|
||||||
|
}
|
||||||
|
assert.True(t, ids["dyform"])
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue