From 1b86db71dfce45417b74e3b9f3ed2001e596bbfd Mon Sep 17 00:00:00 2001 From: shaoying Date: Sun, 11 Nov 2018 16:21:16 +0800 Subject: [PATCH] add componet.ctx --- etc/init.shy | 1 - src/contexts/cli/cli.go | 27 ++++++++-- src/contexts/ctx/ctx.go | 15 ++++-- src/contexts/mdb/mdb.go | 9 ++++ src/contexts/nfs/nfs.go | 4 ++ src/contexts/web/web.go | 26 +++++----- src/examples/code/code.go | 101 ++++++++++++++++++++---------------- usr/librarys/code.js | 75 ++++++++++++++++++++++++-- usr/template/code/code.tmpl | 12 ++--- 9 files changed, 190 insertions(+), 80 deletions(-) diff --git a/etc/init.shy b/etc/init.shy index de4e60ad..82f40286 100644 --- a/etc/init.shy +++ b/etc/init.shy @@ -4,5 +4,4 @@ config load var/counter.json counter source etc/local.shy -source etc/demo.shy ~shy diff --git a/src/contexts/cli/cli.go b/src/contexts/cli/cli.go index ba5ad9e9..7d704e88 100644 --- a/src/contexts/cli/cli.go +++ b/src/contexts/cli/cli.go @@ -2,6 +2,7 @@ package cli import ( "contexts/ctx" + "path" "toolkit" "fmt" @@ -84,9 +85,10 @@ func (cli *CLI) Spawn(m *ctx.Message, c *ctx.Context, arg ...string) ctx.Server ":": []string{"command"}, "::": []string{"command", "list"}, - "pwd": []string{"nfs.pwd"}, - "dir": []string{"nfs.dir"}, - "git": []string{"nfs.git"}, + "pwd": []string{"nfs.pwd"}, + "path": []string{"nfs.path"}, + "dir": []string{"nfs.dir"}, + "git": []string{"nfs.git"}, } return s @@ -139,8 +141,8 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心", "init.shy": &ctx.Config{Name: "init.shy", Value: "etc/init.shy", Help: "启动脚本"}, "exit.shy": &ctx.Config{Name: "exit.shy", Value: "etc/exit.shy", Help: "启动脚本"}, - "time_unit": &ctx.Config{Name: "time_unit", Value: "1000", Help: "时间倍数"}, - "time_close": &ctx.Config{Name: "time_close(open/close)", Value: "open", Help: "时间区间"}, + "time_unit": &ctx.Config{Name: "time_unit", Value: "1000", Help: "时间倍数"}, + "time_close": &ctx.Config{Name: "time_close(open/close)", Value: "open", Help: "时间区间"}, "cmd_script": &ctx.Config{Name: "cmd_script", Value: map[string]interface{}{ "sh": "bash", @@ -149,6 +151,7 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心", }, Help: "系统命令超时"}, "cmd_timeout": &ctx.Config{Name: "cmd_timeout", Value: "60s", Help: "系统命令超时"}, + "source_list": &ctx.Config{Name: "source_list", Value: []interface{}{}, Help: "系统命令超时"}, "cmd_combine": &ctx.Config{Name: "cmd_combine", Value: map[string]interface{}{ "vi": map[string]interface{}{"active": true}, "top": map[string]interface{}{"active": true}, @@ -610,6 +613,15 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心", return } + m.Confv("source_list", -1, map[string]interface{}{ + "source_word": strings.Join(arg, " "), + "source_time": m.Time(), + }) + + if m.Options("current_ctx") { + args := []string{"context", m.Option("current_ctx")} + arg = append(args, arg...) + } m.Sess("yac").Call(func(msg *ctx.Message) *ctx.Message { switch msg.Cmd().Detail(0) { case "cmd": @@ -624,6 +636,11 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心", m.Copy(msg, "append").Copy(msg, "result") } }}, + "run": &ctx.Command{Name: "run", Help: "脚本参数", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) { + name := path.Join(m.Option("dir_root"), m.Option("download_dir"), arg[0]) + msg := m.Spawn(c).Cmd("cmd", name) + m.Copy(msg, "append").Copy(msg, "result") + }}, "sleep": &ctx.Command{Name: "sleep time", Help: "睡眠, time(ns/us/ms/s/m/h): 时间值(纳秒/微秒/毫秒/秒/分钟/小时)", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) { if d, e := time.ParseDuration(arg[0]); m.Assert(e) { diff --git a/src/contexts/ctx/ctx.go b/src/contexts/ctx/ctx.go index 288e5591..c2f317e2 100644 --- a/src/contexts/ctx/ctx.go +++ b/src/contexts/ctx/ctx.go @@ -2796,6 +2796,9 @@ var Index = &Context{Name: "ctx", Help: "模块中心", switch action { case "cmd": msg.Cmd(arg) + if !msg.Hand { + msg = msg.Sess("cli").Cmd("cmd", arg) + } m.Copy(msg, "append").Copy(msg, "result") case "switch": m.target = msg.target @@ -3045,13 +3048,15 @@ var Index = &Context{Name: "ctx", Help: "模块中心", switch action { case "save": - f, e := os.Create(which) - m.Assert(e) - defer f.Close() - + // f, e := os.Create(which) + // m.Assert(e) + // defer f.Close() + // buf, e := json.MarshalIndent(save, "", " ") m.Assert(e) - f.Write(buf) + m.Sess("nfs").Add("option", "data", string(buf)).Cmd("save", which) + + // f.Write(buf) case "export": buf, e := json.MarshalIndent(save, "", " ") m.Assert(e) diff --git a/src/contexts/mdb/mdb.go b/src/contexts/mdb/mdb.go index 667216c7..6d6873e1 100644 --- a/src/contexts/mdb/mdb.go +++ b/src/contexts/mdb/mdb.go @@ -199,6 +199,15 @@ var Index = &ctx.Context{Name: "mdb", Help: "数据中心", "extra_field": 2, "extra_fields": 1, "extra_format": 1, "trans_field": 1, "trans_map": 2}, Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) { if _, ok := m.Target().Server.(*MDB); m.Assert(ok) { + if len(arg) == 0 { + msg := m.Spawn().Cmd("query", "show tables") + for _, v := range msg.Meta[msg.Meta["append"][0]] { + m.Add("append", "table", v) + } + m.Table() + return + } + table := m.Confx("table", arg, 0) if v := m.Confv("tables", table); v != nil { table = v.(string) diff --git a/src/contexts/nfs/nfs.go b/src/contexts/nfs/nfs.go index c6961bee..e411e436 100644 --- a/src/contexts/nfs/nfs.go +++ b/src/contexts/nfs/nfs.go @@ -84,6 +84,7 @@ func dir(m *ctx.Message, name string, level int, deep bool, trip int, fields []s continue } + f, _ := os.Stat(f.Name()) if !(m.Confx("dir_type") == "file" && f.IsDir() || m.Confx("dir_type") == "dir" && !f.IsDir()) { for _, field := range fields { @@ -1009,6 +1010,9 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心", } }}, "save": &ctx.Command{Name: "save file string...", Help: "保存文件, file: 保存的文件, string: 保存的内容", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) { + if len(arg) == 1 && m.Has("data") { + arg = append(arg, m.Option("data")) + } if p, f, e := open(m, arg[0], os.O_WRONLY|os.O_CREATE|os.O_TRUNC); m.Assert(e) { defer f.Close() diff --git a/src/contexts/web/web.go b/src/contexts/web/web.go index 4319a098..9cf8e175 100644 --- a/src/contexts/web/web.go +++ b/src/contexts/web/web.go @@ -283,9 +283,9 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", "componet_group": &ctx.Config{Name: "component_group", Value: "index", Help: "默认组件"}, "componet": &ctx.Config{Name: "componet", Value: map[string]interface{}{ "index": []interface{}{ - map[string]interface{}{"name": "head", "template": "head"}, - map[string]interface{}{"name": "clipbaord", "help": "clipbaord", "template": "clipboard"}, - map[string]interface{}{"name": "time", "help": "time", "template": "componet", + map[string]interface{}{"componet_name": "head", "template": "head"}, + map[string]interface{}{"componet_name": "clipbaord", "componet_help": "clipbaord", "template": "clipboard"}, + map[string]interface{}{"componet_name": "time", "componet_help": "time", "template": "componet", "context": "cli", "command": "time", "arguments": []interface{}{"@string"}, "inputs": []interface{}{ map[string]interface{}{"type": "text", "name": "time_format", @@ -295,7 +295,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", map[string]interface{}{"type": "button", "label": "refresh"}, }, }, - map[string]interface{}{"name": "tail", "template": "tail"}, + map[string]interface{}{"componet_name": "tail", "template": "tail"}, }, }, Help: "组件列表"}, }, @@ -617,8 +617,8 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", value := val.(map[string]interface{}) m.Add("append", "group", k) m.Add("append", "order", i) - m.Add("append", "name", value["name"]) - m.Add("append", "help", value["help"]) + m.Add("append", "componet_name", value["componet_name"]) + m.Add("append", "componet_help", value["componet_help"]) m.Add("append", "context", value["context"]) m.Add("append", "command", value["command"]) } @@ -628,8 +628,8 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", for i, val := range m.Confv("componet", arg[0]).([]interface{}) { value := val.(map[string]interface{}) m.Add("append", "order", i) - m.Add("append", "name", value["name"]) - m.Add("append", "help", value["help"]) + m.Add("append", "componet_name", value["componet_name"]) + m.Add("append", "componet_help", value["componet_help"]) m.Add("append", "context", value["context"]) m.Add("append", "command", value["command"]) } @@ -647,7 +647,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", } } else { m.Confv("componet", []interface{}{arg[0], arg[1]}, map[string]interface{}{ - "name": arg[2], "help": arg[3], + "componet_name": arg[2], "componet_help": arg[3], "context": m.Confx("componet_context", arg, 4), "command": m.Confx("componet_command", arg, 5), }) @@ -742,13 +742,13 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", for count := 0; count == 0; group, order, right = "login", "", true { for _, v := range m.Confv("componet", group).([]interface{}) { val := v.(map[string]interface{}) - if order != "" && val["name"].(string) != order { + if order != "" && val["componet_name"].(string) != order { continue } order_right := right if !order_right && login != nil { - if role := login.Confv("right", []interface{}{group, val["name"], "right", "role"}); role != nil && role.(string) == "share" { + if role := login.Confv("right", []interface{}{group, val["componet_name"], "right", "role"}); role != nil && role.(string) == "share" { order_right = true } } @@ -770,7 +770,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", } count++ - msg.Option("componet_order", val["name"].(string)) + msg.Option("componet_order", val["componet_name"].(string)) for k, v := range val { if msg.Option(k) != "" { @@ -823,7 +823,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", } if msg.Appends("directory") { - m.Append("page_redirect", fmt.Sprintf("/download?file=%s", msg.Append("directory"))) + m.Append("page_redirect", fmt.Sprintf("/download/%s", msg.Append("directory"))) return } diff --git a/src/examples/code/code.go b/src/examples/code/code.go index 77464062..11bb8a86 100644 --- a/src/examples/code/code.go +++ b/src/examples/code/code.go @@ -22,11 +22,11 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", "componet_group": &ctx.Config{Name: "component_group", Value: "index", Help: "默认组件"}, "componet": &ctx.Config{Name: "componet", Value: map[string]interface{}{ "login": []interface{}{ - map[string]interface{}{"name": "head", "template": "head"}, - map[string]interface{}{"name": "userinfo", "help": "userinfo", + map[string]interface{}{"componet_name": "head", "template": "head"}, + map[string]interface{}{"componet_name": "userinfo", "componet_help": "userinfo", "context": "aaa", "command": "userinfo", "arguments": []interface{}{"@sessid"}, }, - map[string]interface{}{"name": "login", "help": "login", "template": "componet", + map[string]interface{}{"componet_name": "login", "componet_help": "login", "template": "componet", "context": "aaa", "command": "login", "arguments": []interface{}{"@username", "@password"}, "inputs": []interface{}{ map[string]interface{}{"type": "text", "name": "username", "label": "username"}, @@ -35,12 +35,12 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", }, "display_append": "", "display_result": "", "result_reload": "10", }, - map[string]interface{}{"name": "tail", "template": "tail"}, + map[string]interface{}{"componet_name": "tail", "template": "tail"}, }, "index": []interface{}{ - map[string]interface{}{"name": "head", "template": "head"}, - map[string]interface{}{"name": "clipbaord", "help": "clipbaord", "template": "clipboard"}, - map[string]interface{}{"name": "buffer", "help": "buffer", "template": "componet", + map[string]interface{}{"componet_name": "head", "template": "head"}, + map[string]interface{}{"componet_name": "clipbaord", "componet_help": "clipbaord", "template": "clipboard"}, + map[string]interface{}{"componet_name": "buffer", "componet_help": "buffer", "template": "componet", "context": "cli", "command": "tmux", "arguments": []interface{}{"buffer"}, "inputs": []interface{}{ map[string]interface{}{"type": "text", "name": "limit", "label": "limit", "value": "3"}, map[string]interface{}{"type": "text", "name": "index", "label": "index"}, @@ -48,7 +48,7 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", }, "pre_run": true, }, - map[string]interface{}{"name": "time", "help": "time", "template": "componet", + map[string]interface{}{"componet_name": "time", "componet_help": "time", "template": "componet", "context": "cli", "command": "time", "arguments": []interface{}{"@string"}, "inputs": []interface{}{ map[string]interface{}{"type": "text", "name": "time_format", @@ -58,25 +58,14 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", map[string]interface{}{"type": "button", "label": "refresh"}, }, }, - map[string]interface{}{"name": "time", "help": "time", "template": "componet", - "context": "cli", "command": "time", "arguments": []interface{}{"@string"}, - "file_name": "nice-2006-01-02_1504.txt", - "inputs": []interface{}{ - map[string]interface{}{"type": "text", "name": "time_format", - "label": "format", "value": "2006-01-02 15:04:05", - }, - map[string]interface{}{"type": "text", "name": "string", "label": "string"}, - map[string]interface{}{"type": "button", "label": "refresh"}, - }, - }, - map[string]interface{}{"name": "json", "help": "json", "template": "componet", + map[string]interface{}{"componet_name": "json", "componet_help": "json", "template": "componet", "context": "nfs", "command": "json", "arguments": []interface{}{"@string"}, "inputs": []interface{}{ map[string]interface{}{"type": "text", "name": "string", "label": "string"}, map[string]interface{}{"type": "button", "label": "refresh"}, }, }, - map[string]interface{}{"name": "dir", "help": "dir", "template": "componet", + map[string]interface{}{"componet_name": "dir", "componet_help": "dir", "template": "componet", "context": "nfs", "command": "dir", "arguments": []interface{}{"@dir", "dir_sort", "@sort_order", "@sort_field"}, "pre_run": true, "display_result": "", "inputs": []interface{}{ @@ -109,7 +98,7 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", map[string]interface{}{"type": "text", "name": "dir", "label": "dir"}, }, }, - map[string]interface{}{"name": "upload", "help": "upload", "template": "componet", + map[string]interface{}{"componet_name": "upload", "componet_help": "upload", "template": "componet", "context": "web", "command": "upload", "form_type": "upload", "inputs": []interface{}{ map[string]interface{}{"type": "file", "name": "upload"}, @@ -117,24 +106,7 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", }, "display_result": "", }, - map[string]interface{}{"name": "command", "help": "command", "template": "componet", - "context": "cli.shy", "command": "source", "arguments": []interface{}{"@cmd"}, - "inputs": []interface{}{ - map[string]interface{}{"type": "text", "name": "cmd", "value": "", - "class": "cmd", "clipstack": "clistack", - }, - }, - }, - map[string]interface{}{"name": "command_result", "help": "command_result", "template": "componet", - "context": "cli.shy", "command": "source", "arguments": []interface{}{"@cmd"}, - "display_result": "", "file_name": "result_2006_0102_1504.txt", - "inputs": []interface{}{ - map[string]interface{}{"type": "text", "name": "cmd", "value": "", - "class": "cmd", "clipstack": "clistack", - }, - }, - }, - map[string]interface{}{"name": "command_append", "help": "command_append", "template": "componet", + map[string]interface{}{"componet_name": "download", "componet_help": "download", "template": "componet", "context": "cli.shy", "command": "source", "arguments": []interface{}{"@cmd"}, "display_result": "", "file_name": "", "inputs": []interface{}{ @@ -144,7 +116,46 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", }, }, }, - map[string]interface{}{"name": "develop", "help": "develop", "template": "componet", + map[string]interface{}{"componet_name": "ctx", "componet_help": "ctx", "template": "componet", + "context": "cli.shy", "command": "context", "arguments": []interface{}{"@ctx", "list"}, + "display_result": "", + "inputs": []interface{}{ + map[string]interface{}{"type": "text", "name": "ctx", "value": "shy"}, + map[string]interface{}{"type": "button", "label": "refresh"}, + }, + }, + map[string]interface{}{"componet_name": "command", "componet_help": "command", "template": "componet", + "context": "cli.shy", "command": "source", "arguments": []interface{}{"@cmd"}, + "inputs": []interface{}{ + map[string]interface{}{"type": "text", "name": "cmd", "value": "", + "class": "cmd", "clipstack": "clistack", + }, + }, + }, + map[string]interface{}{"componet_name": "command1", "componet_help": "command1", "template": "componet", + "context": "cli.shy", "command": "source", "arguments": []interface{}{"@cmd"}, + "inputs": []interface{}{ + map[string]interface{}{"type": "text", "name": "cmd", "value": "", + "class": "cmd", "clipstack": "clistack", + }, + }, + }, + map[string]interface{}{"componet_name": "command2", "componet_help": "command2", "template": "componet", + "context": "cli.shy", "command": "source", "arguments": []interface{}{"@cmd"}, + "inputs": []interface{}{ + map[string]interface{}{"type": "text", "name": "cmd", "value": "", + "class": "cmd", "clipstack": "clistack", + }, + }, + }, + map[string]interface{}{"componet_name": "command_list", "componet_help": "command_list", "template": "componet", + "context": "cli", "command": "config", "arguments": []interface{}{"source_list"}, + "pre_run": true, "display_result": "", + "inputs": []interface{}{ + map[string]interface{}{"type": "button", "label": "refresh"}, + }, + }, + map[string]interface{}{"componet_name": "develop", "componet_help": "develop", "template": "componet", "context": "web.code", "command": "config", "arguments": []interface{}{"counter"}, "inputs": []interface{}{ map[string]interface{}{"type": "button", "label": "refresh"}, @@ -152,7 +163,7 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", "pre_run": true, "display_result": "", }, - map[string]interface{}{"name": "windows", "help": "windows", "template": "componet", + map[string]interface{}{"componet_name": "windows", "componet_help": "windows", "template": "componet", "context": "cli", "command": "windows", "inputs": []interface{}{ map[string]interface{}{"type": "button", "label": "refresh"}, @@ -160,7 +171,7 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", "pre_run": true, "display_result": "", }, - map[string]interface{}{"name": "runtime", "help": "runtime", "template": "componet", + map[string]interface{}{"componet_name": "runtime", "componet_help": "runtime", "template": "componet", "context": "cli", "command": "runtime", "inputs": []interface{}{ map[string]interface{}{"type": "button", "label": "refresh"}, @@ -168,7 +179,7 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", "pre_run": true, "display_result": "", }, - map[string]interface{}{"name": "sysinfo", "help": "sysinfo", "template": "componet", + map[string]interface{}{"componet_name": "sysinfo", "componet_help": "sysinfo", "template": "componet", "context": "cli", "command": "sysinfo", "inputs": []interface{}{ map[string]interface{}{"type": "button", "label": "refresh"}, @@ -176,7 +187,7 @@ var Index = &ctx.Context{Name: "code", Help: "代码中心", "pre_run": true, "display_result": "", }, - map[string]interface{}{"name": "tail", "template": "tail"}, + map[string]interface{}{"componet_name": "tail", "template": "tail"}, }, }, Help: "组件列表"}, }, diff --git a/usr/librarys/code.js b/usr/librarys/code.js index a304b7e5..d5d4429c 100644 --- a/usr/librarys/code.js +++ b/usr/librarys/code.js @@ -22,12 +22,13 @@ function send_command(form, cb) { msg = msg[0] var result = document.querySelector("code.result."+data["componet_name"]+" pre") - result && (result.innerHTML = (msg.result || []).join("")) - var append = document.querySelector("table.append."+data["componet_name"]) - append && (append.innerHTML = "") + if (msg && (msg.append || msg.result)) { + result && (result.innerHTML = (msg.result || []).join("")) + append && (append.innerHTML = "") + } - if (append && msg.append) { + if (append && msg && msg.append) { var tr = append_child(append, "tr") for (var i in msg.append) { append_child(tr, "th", msg.append[i]) @@ -218,7 +219,13 @@ function init_append(event) { } function init_result(event) { var result = document.querySelectorAll("code.result pre").forEach(function(item) { + item.onselect = function(event) { + console.log(event) + + } item.onclick = function(event) { + console.log(event) + return copy_to_clipboard(event.target.innerText) } }) @@ -284,7 +291,11 @@ function init_download(event) { if (event.target.tagName == "TD") { copy_to_clipboard(event.target.innerText.trim()) var name = event.target.innerText.trim() - option["dir"].value += name + if (option["dir"].value && !option["dir"].value.endsWith("/")) { + option["dir"].value += "/"+name + } else { + option["dir"].value += name + } if (name.endsWith("/")) { context.Cookie("download_dir", option["dir"].value) } @@ -306,6 +317,59 @@ function init_download(event) { } } + send_command(option, function(){ + option["dir"].value = context.Cookie("download_dir") + }) + } +} + +function init_context() { + var append = document.querySelector("table.append.ctx") + var option = document.querySelector("form.option.ctx") + insert_before(append, "input", { + "type": "button", + "value": "ctx", + "onclick": function(event) { + option["ctx"].value = "ctx" + send_command(option) + context.Cookie("current_ctx", option["ctx"].value) + return true + } + }) + insert_before(append, "input", { + "type": "button", + "value": "shy", + "onclick": function(event) { + option["ctx"].value = "shy" + send_command(option) + context.Cookie("current_ctx", option["ctx"].value) + return true + } + }) + insert_before(append, "input", { + "type": "button", + "value": "mdb", + "onclick": function(event) { + option["ctx"].value = "mdb" + send_command(option) + context.Cookie("current_ctx", option["ctx"].value) + return true + } + }) + + option["ctx"].value = context.Cookie("current_ctx") + send_command(option) + + append.onchange = append.onclick = function(event) { + console.log(event) + if (event.target.tagName == "TD") { + var name = event.target.innerText.trim() + copy_to_clipboard(name) + option["ctx"].value = name + context.Cookie("current_ctx", option["ctx"].value) + } else if (event.target.tagName == "TH") { + } + send_command(option) } } @@ -315,4 +379,5 @@ window.onload = function() { init_append() init_result() init_download() + init_context() } diff --git a/usr/template/code/code.tmpl b/usr/template/code/code.tmpl index 4ae36986..6dd73ed3 100644 --- a/usr/template/code/code.tmpl +++ b/usr/template/code/code.tmpl @@ -118,18 +118,18 @@ {{end}} {{define "componet"}} -
{{option .Meta "help"}}({{option .Meta "context"}}.{{option .Meta "command"}}) +
{{option .Meta "componet_help"}}({{option .Meta "context"}}.{{option .Meta "command"}}) {{$form_type := option . "form_type"|meta}} {{if eq $form_type "upload"}} {{end}} -
+ {{$msg := .}} {{range $field := append .}}{{end}} {{range $line := table .}} @@ -195,7 +195,7 @@ {{if index .Meta "display_result"}} {{option .Meta "display_result"}} {{else}} -
{{result .Meta}}
+
{{result .Meta}}
{{end}} {{end}}
{{$field}}