diff --git a/core/chat/meet.go b/core/chat/meet.go index 764f8c2a..9777131d 100644 --- a/core/chat/meet.go +++ b/core/chat/meet.go @@ -22,7 +22,7 @@ func init() { ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Load() }}, ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }}, - MISS: {Name: "miss name auto create", Help: "资料", Meta: kit.Dict("trans", kit.Dict("name", "姓名")), Action: map[string]*ice.Action{ + MISS: {Name: "miss name auto create", Help: "资料", Meta: kit.Dict("_trans", kit.Dict("name", "姓名")), Action: map[string]*ice.Action{ mdb.CREATE: {Name: "create name 照片 性别 年龄 身高 体重 籍贯 户口 学历 学校 职业 公司 年薪 资产 家境", Help: "添加", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(mdb.INSERT, m.Prefix(MISS), "", mdb.HASH, arg) }}, diff --git a/core/chat/search.go b/core/chat/search.go index 22813a79..d31efa84 100644 --- a/core/chat/search.go +++ b/core/chat/search.go @@ -35,9 +35,7 @@ func init() { m.Cmdy(ctx.COMMAND, arg) }}, cli.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) { - if !m.Warn(!m.Right(arg), ice.ErrNotRight) { - m.Cmdy(arg[1:]) - } + m.Cmdy(arg) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { if kit.Contains(arg[1], ";") { diff --git a/core/mall/asset.go b/core/mall/asset.go index c1aac26d..00a99693 100644 --- a/core/mall/asset.go +++ b/core/mall/asset.go @@ -2,15 +2,13 @@ package mall import ( ice "github.com/shylinux/icebergs" + "github.com/shylinux/icebergs/base/cli" "github.com/shylinux/icebergs/base/ctx" "github.com/shylinux/icebergs/base/mdb" "github.com/shylinux/icebergs/base/web" kit "github.com/shylinux/toolkits" ) -func _sub_key(m *ice.Message, account string) string { - return kit.Keys(kit.MDB_HASH, kit.Hashs(account)) -} func _sub_value(m *ice.Message, key string, arg ...string) string { for i := 0; i < len(arg)-1; i += 2 { if arg[i] == key { @@ -28,29 +26,14 @@ func _sub_amount(m *ice.Message, arg []string) { } } } -func _asset_list(m *ice.Message, account string, id string) { - if account == "" { - m.Option(mdb.FIELDS, "time,account,amount,count") - defer m.PushAction(CHECK) - defer m.SortIntR(AMOUNT) - - } else if id == "" { - m.Option(mdb.FIELDS, "time,id,type,amount,name,text") - - } else { - m.Option(mdb.FIELDS, mdb.DETAIL) - defer m.PushAction(mdb.PLUGIN) - } - m.Cmdy(mdb.SELECT, ASSET, "", mdb.ZONE, account, id) -} func _asset_check(m *ice.Message, account string) { amount := 0 - m.Option(mdb.FIELDS, "time,id,type,amount,name,text") + m.OptionFields(m.Conf(ASSET, kit.META_FIELD)) m.Option(kit.Keycb(mdb.SELECT), func(fields []string, value map[string]interface{}) { amount += kit.Int(kit.Value(value, AMOUNT)) }) - m.Cmd(mdb.SELECT, ASSET, _sub_key(m, account), mdb.LIST) + m.Cmd(mdb.SELECT, ASSET, kit.KeyHash(account), mdb.LIST) m.Cmdy(mdb.MODIFY, ASSET, "", mdb.HASH, ACCOUNT, account, AMOUNT, amount) } @@ -59,24 +42,13 @@ func _asset_create(m *ice.Message, account string) { } func _asset_insert(m *ice.Message, account string, arg ...string) { _asset_create(m, account) - m.Cmdy(mdb.INSERT, ASSET, _sub_key(m, account), mdb.LIST, arg) + m.Cmdy(mdb.INSERT, ASSET, kit.KeyHash(account), mdb.LIST, arg) m.Option(mdb.FIELDS, "time,account,amount,count") amount := kit.Int(m.Cmd(mdb.SELECT, ASSET, "", mdb.HASH, ACCOUNT, account).Append(AMOUNT)) amount += kit.Int(_sub_value(m, AMOUNT, arg...)) m.Cmdy(mdb.MODIFY, ASSET, "", mdb.HASH, ACCOUNT, account, AMOUNT, amount) } -func _asset_modify(m *ice.Message, account, id string, arg ...string) { - m.Cmdy(mdb.MODIFY, ASSET, _sub_key(m, account), mdb.LIST, kit.MDB_ID, id, arg) -} -func _asset_export(m *ice.Message, file string) { - m.Option(mdb.FIELDS, "account,id,time,type,amount,name,text,extra") - m.Cmdy(mdb.EXPORT, ASSET, "", mdb.ZONE, file) -} -func _asset_import(m *ice.Message, file string) { - m.Option(mdb.FIELDS, "account") - m.Cmdy(mdb.IMPORT, ASSET, "", mdb.ZONE, file) -} func _asset_inputs(m *ice.Message, field, value string) { switch field { case "pod", "extra.pod": @@ -87,19 +59,23 @@ func _asset_inputs(m *ice.Message, field, value string) { m.Cmdy(ctx.CONTEXT, kit.Select(m.Option("ctx"), m.Option("extra.ctx")), ctx.COMMAND) case "arg", "extra.arg": - case "from", "to", ACCOUNT: + case FROM, TO, ACCOUNT: m.Cmdy(mdb.INPUTS, ASSET, "", mdb.HASH, ACCOUNT, value) default: - m.Cmdy(mdb.INPUTS, ASSET, _sub_key(m, m.Option(ACCOUNT)), mdb.LIST, field, value) + m.Cmdy(mdb.INPUTS, ASSET, kit.KeyHash(m.Option(ACCOUNT)), mdb.LIST, field, value) } } const ( ACCOUNT = "account" AMOUNT = "amount" + COUNT = "count" + + FROM = "from" + TO = "to" SPEND = "spend" - TRANC = "tranc" + TRANS = "trans" BONUS = "bonus" CHECK = "check" ) @@ -108,15 +84,19 @@ const ASSET = "asset" func init() { Index.Merge(&ice.Context{ Configs: map[string]*ice.Config{ - ASSET: {Name: ASSET, Help: "资产", Value: kit.Data(kit.MDB_SHORT, ACCOUNT)}, + ASSET: {Name: ASSET, Help: "资产", Value: kit.Data( + kit.MDB_SHORT, ACCOUNT, kit.MDB_FIELD, "time,id,type,amount,name,text", + )}, }, Commands: map[string]*ice.Command{ - ASSET: {Name: "asset account id auto spend tranc bonus", Help: "资产", Action: map[string]*ice.Action{ + ASSET: {Name: "asset account id auto spend trans bonus check", Help: "资产", Meta: kit.Dict( + "_trans", kit.Dict(ACCOUNT, "账户", AMOUNT, "金额", FROM, "转出", TO, "转入", "time", "时间", "name", "商家", "text", "备注"), + ), Action: map[string]*ice.Action{ SPEND: {Name: "spend account name amount time@date text", Help: "支出", Hand: func(m *ice.Message, arg ...string) { _sub_amount(m, arg) _asset_insert(m, arg[1], kit.Simple(kit.MDB_TYPE, "支出", arg[2:])...) }}, - TRANC: {Name: "tranc from to amount time@date text", Help: "转账", Hand: func(m *ice.Message, arg ...string) { + TRANS: {Name: "trans from to amount time@date text", Help: "转账", Hand: func(m *ice.Message, arg ...string) { _asset_insert(m, arg[3], kit.Simple(kit.MDB_TYPE, "转入", kit.MDB_NAME, arg[1], arg[4:])...) _sub_amount(m, arg) _asset_insert(m, arg[1], kit.Simple(kit.MDB_TYPE, "转出", kit.MDB_NAME, arg[3], arg[4:])...) @@ -124,38 +104,63 @@ func init() { BONUS: {Name: "bonus account name amount time@date text", Help: "收入", Hand: func(m *ice.Message, arg ...string) { _asset_insert(m, arg[1], kit.Simple(kit.MDB_TYPE, "收入", arg[2:])...) }}, - CHECK: {Name: "check account", Help: "核算", Hand: func(m *ice.Message, arg ...string) { - _asset_check(m, m.Option(ACCOUNT)) + CHECK: {Name: "check", Help: "核算", Hand: func(m *ice.Message, arg ...string) { + if m.Option(ACCOUNT) == "" { + m.Cmd(ASSET).Table(func(index int, value map[string]string, head []string) { + _asset_check(m, value[ACCOUNT]) + }) + m.ProcessRefresh30ms() + } else { + _asset_check(m, m.Option(ACCOUNT)) + } + m.Toast("核算成功") }}, mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { - _asset_modify(m, m.Option(ACCOUNT), m.Option(kit.MDB_ID), arg[0], arg[1]) + m.Cmdy(mdb.MODIFY, ASSET, "", mdb.ZONE, m.Option(ACCOUNT), m.Option(kit.MDB_ID), arg) }}, - mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) { - _asset_export(m, m.Option(kit.MDB_FILE)) + mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) { + m.OptionFields(ACCOUNT, m.Conf(ASSET, kit.META_FIELD), kit.MDB_EXTRA) + m.Cmdy(mdb.EXPORT, ASSET, "", mdb.ZONE) }}, - mdb.IMPORT: {Name: "import file", Help: "导入", Hand: func(m *ice.Message, arg ...string) { - _asset_import(m, m.Option(kit.MDB_FILE)) + mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) { + m.OptionFields(ACCOUNT) + m.Cmdy(mdb.IMPORT, ASSET, "", mdb.ZONE) }}, mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) { _asset_inputs(m, kit.Select("", arg, 0), kit.Select("", arg, 1)) }}, mdb.PLUGIN: {Name: "plugin extra.pod extra.ctx extra.cmd extra.arg", Help: "插件", Hand: func(m *ice.Message, arg ...string) { - _asset_modify(m, m.Option(ACCOUNT), m.Option(kit.MDB_ID), kit.Simple(kit.Dict(arg))...) + m.Cmdy(mdb.MODIFY, ASSET, "", mdb.ZONE, m.Option(ACCOUNT), m.Option(kit.MDB_ID), arg) }}, ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) { - if arg[0] == "run" { - m.Cmdy(arg[1], arg[2:]) - return - } - if len(arg) > 0 { - m.Cmdy(ctx.COMMAND, arg[0]) - return - } + m.Cmdy(ctx.COMMAND, arg) + }}, + cli.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) { + m.Cmdy(arg) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - _asset_list(m, kit.Select("", arg, 0), kit.Select("", arg, 1)) + amount, count := 0, 0 + m.Fields(len(arg), "time,account,amount,count", m.Conf(ASSET, kit.META_FIELD)) + if m.Cmdy(mdb.SELECT, ASSET, "", mdb.ZONE, arg); len(arg) == 0 { + m.PushAction(CHECK) + m.SortIntR(AMOUNT) + + m.Table(func(index int, value map[string]string, head []string) { + amount += kit.Int(value[AMOUNT]) + count += kit.Int(value[COUNT]) + }) + + } else { + m.PushAction(mdb.PLUGIN) + + m.Table(func(index int, value map[string]string, head []string) { + amount += kit.Int(value[AMOUNT]) + count++ + }) + } + m.StatusTime(AMOUNT, amount, COUNT, count) }}, }, }) diff --git a/core/mall/beike.go b/core/mall/beike.go deleted file mode 100644 index e4f1fe0b..00000000 --- a/core/mall/beike.go +++ /dev/null @@ -1,36 +0,0 @@ -package mall - -import ( - ice "github.com/shylinux/icebergs" - "github.com/shylinux/icebergs/base/mdb" - kit "github.com/shylinux/toolkits" -) - -func _beike_show(m *ice.Message, name, text string, arg ...string) { -} -func _beike_search(m *ice.Message, kind, name, text string) { - if kit.Contains(kind, kit.MDB_FOREACH) || kit.Contains(kind, BEIKE) { - m.PushSearchWeb(BEIKE, name) - } -} - -const BEIKE = "beike" - -func init() { - Index.Merge(&ice.Context{ - Configs: map[string]*ice.Config{ - BEIKE: {Name: "beike", Help: "贝壳", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)}, - }, - Commands: map[string]*ice.Command{ - BEIKE: {Name: "beike [name] word", Help: "百度", Action: map[string]*ice.Action{ - mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) { - _beike_search(m, arg[0], arg[1], arg[2]) - }}, - mdb.CREATE: {Name: "create type name text", Help: "创建", Hand: func(m *ice.Message, arg ...string) { - m.Cmd(mdb.INSERT, m.Prefix(BEIKE), "", mdb.HASH, arg) - }}, - }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - _beike_show(m, arg[0], kit.Select(arg[0], arg[1]), arg[2:]...) - }}, - }}) -} diff --git a/core/mall/mall.go b/core/mall/mall.go index 2e3dc7a4..c1750985 100644 --- a/core/mall/mall.go +++ b/core/mall/mall.go @@ -7,13 +7,13 @@ import ( const MALL = "mall" -var Index = &ice.Context{Name: MALL, Help: "贸易中心", - Commands: map[string]*ice.Command{ - ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - m.Load() - }}, - ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }}, - }, -} +var Index = &ice.Context{Name: MALL, Help: "贸易中心", Commands: map[string]*ice.Command{ + ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { + m.Load() + }}, + ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { + m.Save() + }}, +}} func init() { web.Index.Register(Index, nil, ASSET, SALARY) } diff --git a/core/mall/salary.go b/core/mall/salary.go index dda59e6d..b0ff0dba 100644 --- a/core/mall/salary.go +++ b/core/mall/salary.go @@ -28,8 +28,15 @@ func init() { m.Cmdy(mdb.INPUTS, SALARY, "", mdb.HASH, arg) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - m.Option(mdb.FIELDS, kit.Select("time,month,company,amount,income,tax", mdb.DETAIL, len(arg) > 0)) + m.Fields(len(arg), "time,month,company,amount,income,tax") m.Cmdy(mdb.SELECT, SALARY, "", mdb.HASH, "month", arg) + amount, income, tax := 0, 0, 0 + m.Table(func(index int, value map[string]string, head []string) { + amount += kit.Int(value["amount"]) + income += kit.Int(value["income"]) + tax += kit.Int(value["tax"]) + }) + m.StatusTime("amount", amount, "income", income, "tax", tax) }}, }, }) diff --git a/core/mall/taobao.go b/core/mall/taobao.go deleted file mode 100644 index fe8a7b71..00000000 --- a/core/mall/taobao.go +++ /dev/null @@ -1,36 +0,0 @@ -package mall - -import ( - ice "github.com/shylinux/icebergs" - "github.com/shylinux/icebergs/base/mdb" - kit "github.com/shylinux/toolkits" -) - -func _taobao_show(m *ice.Message, name, text string, arg ...string) { -} -func _taobao_search(m *ice.Message, kind, name, text string) { - if kit.Contains(kind, kit.MDB_FOREACH) || kit.Contains(kind, TAOBAO) { - m.PushSearchWeb(TAOBAO, name) - } -} - -const TAOBAO = "taobao" - -func init() { - Index.Merge(&ice.Context{ - Configs: map[string]*ice.Config{ - TAOBAO: {Name: "taobao", Help: "淘宝", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)}, - }, - Commands: map[string]*ice.Command{ - TAOBAO: {Name: "taobao [name] word", Help: "百度", Action: map[string]*ice.Action{ - mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) { - _taobao_search(m, arg[0], arg[1], arg[2]) - }}, - mdb.CREATE: {Name: "create type name text", Help: "创建", Hand: func(m *ice.Message, arg ...string) { - m.Cmd(mdb.INSERT, m.Prefix(TAOBAO), "", mdb.HASH, arg) - }}, - }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - _taobao_show(m, arg[0], kit.Select(arg[0], arg[1]), arg[2:]...) - }}, - }}) -} diff --git a/core/wiki/field.go b/core/wiki/field.go index e6c82d8a..8c1328f2 100644 --- a/core/wiki/field.go +++ b/core/wiki/field.go @@ -76,9 +76,7 @@ func init() { Commands: map[string]*ice.Command{ FIELD: {Name: "field [name] cmd", Help: "插件", Action: map[string]*ice.Action{ cli.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) { - if !m.Warn(!m.Right(arg[1:]), ice.ErrNotRight, arg[1:]) { - m.Cmdy(arg[1:]) - } + m.Cmdy(arg) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { arg = _name(m, arg) diff --git a/core/wiki/word.go b/core/wiki/word.go index bc16f4a0..c64ba01a 100644 --- a/core/wiki/word.go +++ b/core/wiki/word.go @@ -65,7 +65,7 @@ func init() { ice.Display("/plugin/local/wiki/word.js", WORD), ), Action: map[string]*ice.Action{ web.STORY: {Name: "story", Help: "运行", Hand: func(m *ice.Message, arg ...string) { - m.Cmdy(arg[0], ctx.ACTION, cli.RUN, arg[1:]) + m.Cmdy(arg[0], ctx.ACTION, cli.RUN, arg[2:]) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Option(nfs.DIR_REG, m.Conf(WORD, kit.Keym(kit.MDB_REGEXP))) diff --git a/misc.go b/misc.go index e708f103..05d025ed 100644 --- a/misc.go +++ b/misc.go @@ -155,7 +155,7 @@ func Render(m *Message, cmd string, args ...interface{}) string { list := []string{} for _, k := range kit.Split(strings.Join(arg, ",")) { list = append(list, fmt.Sprintf(``, - k, kit.Select(k, kit.Value(m._cmd.Meta, kit.Keys("trans", k))))) + k, kit.Select(k, kit.Value(m._cmd.Meta, kit.Keys("_trans", k))))) } return strings.Join(list, "") @@ -348,6 +348,10 @@ func (m *Message) Status(arg ...interface{}) { } m.Option(MSG_STATUS, kit.Format(list)) } +func (m *Message) StatusTime(arg ...interface{}) { + m.Status(kit.MDB_TIME, m.Time(), arg, "cost", m.FormatCost()) +} + func (m *Message) StatusTimeCount(arg ...interface{}) { m.Status(kit.MDB_TIME, m.Time(), kit.MDB_COUNT, m.FormatSize(), arg, "cost", m.FormatCost()) } diff --git a/type.go b/type.go index ae777512..7cc9acc0 100644 --- a/type.go +++ b/type.go @@ -79,6 +79,10 @@ func (c *Context) Cap(key string, arg ...interface{}) string { return c.Caches[key].Value } func (c *Context) _cmd(m *Message, cmd *Command, key string, k string, h *Action, arg ...string) *Message { + if k == "run" && m.Warn(!m.Right(arg), ErrNotRight, arg) { + return m + } + m.Log(LOG_CMDS, "%s.%s %s %d %v %s", c.Name, key, k, len(arg), arg, kit.FileLine(h.Hand, 3)) if len(h.List) > 0 && k != "search" { order := false @@ -196,7 +200,7 @@ func (c *Context) Merge(s *Context) *Context { if len(help) == 1 || help[1] == "" { help = strings.SplitN(help[0], ":", 2) } - kit.Value(v.Meta, kit.Keys("trans", k), help[0]) + kit.Value(v.Meta, kit.Keys("_trans", k), help[0]) if len(help) > 1 { kit.Value(v.Meta, kit.Keys("title", k), help[1]) } @@ -228,25 +232,41 @@ func (c *Context) Merge(s *Context) *Context { return c } func (c *Context) split(key string, cmd *Command, name string) []interface{} { + const ( + BUTTON = "button" + SELECT = "select" + TEXT = "text" + TEXTAREA = "textarea" + ) + button, list := false, []interface{}{} for _, v := range kit.Split(kit.Select("key", name), " ", " ")[1:] { + if key == "spend" { + fmt.Printf("what %v %v\n", key, v) + } switch v { + case "text": + list = append(list, kit.List(kit.MDB_INPUT, TEXTAREA, kit.MDB_NAME, "text")...) + if key == "spend" { + fmt.Printf("what %v %v\n", key, list) + } + continue case "page": - list = append(list, kit.List(kit.MDB_INPUT, "text", "name", "limit")...) - list = append(list, kit.List(kit.MDB_INPUT, "text", "name", "offend")...) - list = append(list, kit.List(kit.MDB_INPUT, "button", "name", "prev")...) - list = append(list, kit.List(kit.MDB_INPUT, "button", "name", "next")...) + list = append(list, kit.List(kit.MDB_INPUT, TEXT, kit.MDB_NAME, "limit")...) + list = append(list, kit.List(kit.MDB_INPUT, TEXT, kit.MDB_NAME, "offend")...) + list = append(list, kit.List(kit.MDB_INPUT, BUTTON, kit.MDB_NAME, "prev")...) + list = append(list, kit.List(kit.MDB_INPUT, BUTTON, kit.MDB_NAME, "next")...) continue case "auto": - list = append(list, kit.List(kit.MDB_INPUT, "button", "name", "查看", "value", "auto")...) - list = append(list, kit.List(kit.MDB_INPUT, "button", "name", "返回")...) + list = append(list, kit.List(kit.MDB_INPUT, BUTTON, kit.MDB_NAME, "查看", kit.MDB_VALUE, "auto")...) + list = append(list, kit.List(kit.MDB_INPUT, BUTTON, kit.MDB_NAME, "返回")...) button = true continue } ls, value := kit.Split(v, " ", ":=@"), "" - item := kit.Dict(kit.MDB_INPUT, kit.Select("text", "button", button)) - if kit.Value(item, kit.MDB_NAME, ls[0]); item[kit.MDB_INPUT] == "text" { + item := kit.Dict(kit.MDB_INPUT, kit.Select(TEXT, BUTTON, button)) + if kit.Value(item, kit.MDB_NAME, ls[0]); item[kit.MDB_INPUT] == TEXT { kit.Value(item, kit.MDB_VALUE, kit.Select("@key", "auto", strings.Contains(name, "auto"))) } @@ -254,10 +274,10 @@ func (c *Context) split(key string, cmd *Command, name string) []interface{} { switch ls[i] { case ":": switch kit.Value(item, kit.MDB_INPUT, ls[i+1]); ls[i+1] { - case "textarea": + case TEXTAREA: kit.Value(item, "style.width", "360") kit.Value(item, "style.height", "60") - case "button": + case BUTTON: kit.Value(item, kit.MDB_VALUE, "") button = true } @@ -266,7 +286,7 @@ func (c *Context) split(key string, cmd *Command, name string) []interface{} { vs := strings.Split(ls[i+1], ",") kit.Value(item, "values", vs) kit.Value(item, kit.MDB_VALUE, vs[0]) - kit.Value(item, kit.MDB_INPUT, "select") + kit.Value(item, kit.MDB_INPUT, SELECT) if kit.Value(item, kit.MDB_NAME) == "scale" { kit.Value(item, kit.MDB_VALUE, "week") } @@ -275,7 +295,7 @@ func (c *Context) split(key string, cmd *Command, name string) []interface{} { } case "@": if len(ls) > i+1 { - if kit.Value(item, kit.MDB_INPUT) == "button" { + if kit.Value(item, kit.MDB_INPUT) == BUTTON { kit.Value(item, kit.MDB_ACTION, ls[i+1]) } else { kit.Value(item, kit.MDB_VALUE, "@"+ls[i+1]+"="+value)