forked from x/icebergs
add some
This commit is contained in:
parent
84fe540a9a
commit
939de032c1
@ -189,7 +189,8 @@ func init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func SystemFindGo(m *ice.Message) bool { return SystemFind(m, "go") != "" }
|
func SystemFindGit(m *ice.Message) bool { return SystemFind(m, GIT) != "" }
|
||||||
|
func SystemFindGo(m *ice.Message) bool { return SystemFind(m, GO) != "" }
|
||||||
func SystemFind(m *ice.Message, bin string, dir ...string) string {
|
func SystemFind(m *ice.Message, bin string, dir ...string) string {
|
||||||
dir = append(dir, EtcPath(m)...)
|
dir = append(dir, EtcPath(m)...)
|
||||||
return _system_find(m, bin, append(dir, _path_split(kit.Env(PATH))...)...)
|
return _system_find(m, bin, append(dir, _path_split(kit.Env(PATH))...)...)
|
||||||
|
@ -32,7 +32,7 @@ func _dream_list(m *ice.Message, simple bool) *ice.Message {
|
|||||||
m.Push("", value, kit.Slice(head, 0, -1))
|
m.Push("", value, kit.Slice(head, 0, -1))
|
||||||
if m.IsCliUA() || simple {
|
if m.IsCliUA() || simple {
|
||||||
m.Push(mdb.TYPE, space[mdb.TYPE]).Push(cli.STATUS, cli.START)
|
m.Push(mdb.TYPE, space[mdb.TYPE]).Push(cli.STATUS, cli.START)
|
||||||
m.Push(nfs.MODULE, space[nfs.MODULE]).Push(nfs.VERSION, space[nfs.VERSION]).Push(mdb.TEXT, "")
|
m.Push(nfs.MODULE, space[nfs.MODULE]).Push(nfs.VERSION, space[nfs.VERSION]).Push(mdb.TEXT, DreamStat(m, value[mdb.NAME]))
|
||||||
if aaa.IsTechOrRoot(m) {
|
if aaa.IsTechOrRoot(m) {
|
||||||
m.PushButton(cli.STOP)
|
m.PushButton(cli.STOP)
|
||||||
} else {
|
} else {
|
||||||
@ -573,3 +573,19 @@ func DreamListSpide(m *ice.Message, list []string, types string, cb func(dev, or
|
|||||||
func DreamList(m *ice.Message) *ice.Message {
|
func DreamList(m *ice.Message) *ice.Message {
|
||||||
return AdminCmd(m.Options("dream.simple", ice.TRUE), DREAM)
|
return AdminCmd(m.Options("dream.simple", ice.TRUE), DREAM)
|
||||||
}
|
}
|
||||||
|
func DreamStat(m *ice.Message, name string) (res string) {
|
||||||
|
if cli.SystemFindGit(m) {
|
||||||
|
text := []string{}
|
||||||
|
for _, line := range kit.Split(m.Cmdx(cli.SYSTEM, cli.GIT, "diff", "--shortstat", kit.Dict(cli.CMD_DIR, path.Join(ice.USR_LOCAL_WORK, name))), mdb.FS, mdb.FS) {
|
||||||
|
if list := kit.Split(line); strings.Contains(line, nfs.FILE) {
|
||||||
|
text = append(text, kit.Format("<span class='files'>%s file</span>", list[0]))
|
||||||
|
} else if strings.Contains(line, "ins") {
|
||||||
|
text = append(text, kit.Format("<span class='add'>%s+++</span>", list[0]))
|
||||||
|
} else if strings.Contains(line, "del") {
|
||||||
|
text = append(text, kit.Format("<span class='del'>%s---</span>", list[0]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
res = strings.Join(text, "")
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -8,6 +8,11 @@ fieldset.web.matrix>div.output>table.content div.item img { height:var(--header-
|
|||||||
fieldset.web.matrix>div.output>table.content div.item img.jpg { padding:var(--input-padding); }
|
fieldset.web.matrix>div.output>table.content div.item img.jpg { padding:var(--input-padding); }
|
||||||
fieldset.web.matrix>div.output>table.content div.item div.title { text-align:left; padding:var(--input-padding); }
|
fieldset.web.matrix>div.output>table.content div.item div.title { text-align:left; padding:var(--input-padding); }
|
||||||
fieldset.web.matrix>div.output>table.content div.item div.title>span { cursor:pointer; }
|
fieldset.web.matrix>div.output>table.content div.item div.title>span { cursor:pointer; }
|
||||||
|
fieldset.web.matrix>div.output>table.content div.item div.title>span.status { font-size:var(--status-font-size); }
|
||||||
|
fieldset.web.matrix>div.output>table.content div.item div.title>span.status>span { padding:0 var(--input-padding); }
|
||||||
|
fieldset.web.matrix>div.output>table.content div.item div.title>span.status>span.files { background-color:purple; color:var(--notice-fg-color);}
|
||||||
|
fieldset.web.matrix>div.output>table.content div.item div.title>span.status>span.add { background-color:var(--notice-bg-color); color:var(--notice-fg-color);}
|
||||||
|
fieldset.web.matrix>div.output>table.content div.item div.title>span.status>span.del { background-color:var(--danger-bg-color); color:var(--danger-fg-color);}
|
||||||
fieldset.web.matrix>div.output>table.content div.item div.status i { font-size:var(--status-font-size); padding:0; }
|
fieldset.web.matrix>div.output>table.content div.item div.status i { font-size:var(--status-font-size); padding:0; }
|
||||||
fieldset.web.matrix>div.output>table.content div.item div.action { margin-top:var(--input-margin); overflow:hidden; }
|
fieldset.web.matrix>div.output>table.content div.item div.action { margin-top:var(--input-margin); overflow:hidden; }
|
||||||
fieldset.web.matrix>div.output>table.content div.item div.action input.icons { display:none; }
|
fieldset.web.matrix>div.output>table.content div.item div.action input.icons { display:none; }
|
||||||
|
@ -123,14 +123,9 @@ func init() {
|
|||||||
}
|
}
|
||||||
_matrix_dream(m, mdb.CREATE, kit.Simple(m.OptionSimple(mdb.ICONS, nfs.REPOS, nfs.BINARY))...)
|
_matrix_dream(m, mdb.CREATE, kit.Simple(m.OptionSimple(mdb.ICONS, nfs.REPOS, nfs.BINARY))...)
|
||||||
m.Cmd(SPACE, kit.Keys(m.Option(DOMAIN), m.Option(mdb.NAME)), MESSAGE, mdb.CREATE,
|
m.Cmd(SPACE, kit.Keys(m.Option(DOMAIN), m.Option(mdb.NAME)), MESSAGE, mdb.CREATE,
|
||||||
mdb.TYPE, aaa.TECH, mdb.ICONS, nfs.USR_ICONS_VOLCANOS,
|
mdb.TYPE, aaa.TECH, mdb.ICONS, nfs.USR_ICONS_VOLCANOS, TARGET, kit.Keys(nfs.FROM, m.Option(mdb.NAME)))
|
||||||
TARGET, kit.Keys("from", m.Option(mdb.NAME)),
|
|
||||||
// "target", kit.Keys(ice.OPS, ice.DEV, m.Option(mdb.NAME)),
|
|
||||||
)
|
|
||||||
m.Cmd(SPACE, m.Option(mdb.NAME), MESSAGE, mdb.CREATE,
|
m.Cmd(SPACE, m.Option(mdb.NAME), MESSAGE, mdb.CREATE,
|
||||||
mdb.TYPE, aaa.TECH, mdb.ICONS, nfs.USR_ICONS_ICEBERGS,
|
mdb.TYPE, aaa.TECH, mdb.ICONS, nfs.USR_ICONS_ICEBERGS, TARGET, kit.Keys(ice.OPS, m.Option(DOMAIN), m.Option(mdb.NAME)))
|
||||||
TARGET, kit.Keys(ice.OPS, m.Option(DOMAIN), m.Option(mdb.NAME)),
|
|
||||||
)
|
|
||||||
StreamPushRefreshConfirm(m, m.Trans("refresh for new space ", "刷新列表查看新空间 ")+kit.Keys(m.Option(DOMAIN), m.Option(mdb.NAME)))
|
StreamPushRefreshConfirm(m, m.Trans("refresh for new space ", "刷新列表查看新空间 ")+kit.Keys(m.Option(DOMAIN), m.Option(mdb.NAME)))
|
||||||
}},
|
}},
|
||||||
}, ctx.ConfAction(
|
}, ctx.ConfAction(
|
||||||
@ -156,7 +151,7 @@ func init() {
|
|||||||
return value
|
return value
|
||||||
})
|
})
|
||||||
m.Action(html.FILTER, mdb.CREATE).StatusTimeCountStats(mdb.TYPE, mdb.STATUS).Display("")
|
m.Action(html.FILTER, mdb.CREATE).StatusTimeCountStats(mdb.TYPE, mdb.STATUS).Display("")
|
||||||
m.Sort("type,status,name,domain", []string{MYSELF, SERVER, MASTER, WORKER, ""}, []string{cli.START, cli.STOP, ""}, "str_r", "str_r")
|
m.Sort("type,status,name,domain", []string{MYSELF, SERVER, MASTER, WORKER, ""}, []string{cli.START, cli.STOP, ""}, ice.STR_R, ice.STR_R)
|
||||||
ctx.Toolkit(m)
|
ctx.Toolkit(m)
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
@ -22,13 +22,13 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
}}, "", target)
|
}}, "", target)
|
||||||
}}
|
}}
|
||||||
},
|
},
|
||||||
item: function(can, item, list) { var name = item.name, domain = item.domain, worker = list[name][""], server = list[""][domain]
|
item: function(can, item, list) { var name = item.name, domain = item.domain, worker = list[name][""], server = list[""][domain]; item["server.type"] = server.type
|
||||||
item["server.type"] = server.type
|
|
||||||
function cb(action) { return function(event) { can.Update(can.request(event, item), [ctx.ACTION, action]) } }
|
function cb(action) { return function(event) { can.Update(can.request(event, item), [ctx.ACTION, action]) } }
|
||||||
return {view: [[html.ITEM, item.type, item.status, can.onimport.style(can, item, list)]], list: [
|
return {view: [[html.ITEM, item.type, item.status, can.onimport.style(can, item, list)]], list: [
|
||||||
{img: can.misc.Resource(can, item.icons, can.core.Keys(item.domain, item.name)), onclick: cb(web.DESKTOP)}, {view: wiki.TITLE, list: [
|
{img: can.misc.Resource(can, item.icons, can.core.Keys(item.domain, item.name)), onclick: cb(web.DESKTOP)}, {view: wiki.TITLE, list: [
|
||||||
{text: item.name||item.domain||location.host, onclick: cb(web.OPEN)},
|
{text: item.name||item.domain||location.host, onclick: cb(web.OPEN)},
|
||||||
item.status != cli.STOP && can.onappend.label(can, item, {version: icon.version, time: icon.compile}),
|
item.status != cli.STOP && can.onappend.label(can, item, {version: icon.version, time: icon.compile}),
|
||||||
|
{text: [item.text, "", "status"]},
|
||||||
can.onappend.buttons(can, item),
|
can.onappend.buttons(can, item),
|
||||||
]},
|
]},
|
||||||
]}
|
]}
|
||||||
|
@ -60,18 +60,7 @@ func init() {
|
|||||||
if !m.IsDebug() || !aaa.IsTechOrRoot(m) || !nfs.Exists(m, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME), _GIT)) {
|
if !m.IsDebug() || !aaa.IsTechOrRoot(m) || !nfs.Exists(m, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME), _GIT)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
text := []string{}
|
m.Push(mdb.TEXT, web.DreamStat(m, m.Option(mdb.NAME)))
|
||||||
for _, line := range kit.Split(m.Cmdx(cli.SYSTEM, GIT, DIFF, "--shortstat", kit.Dict(cli.CMD_DIR, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME)))), mdb.FS, mdb.FS) {
|
|
||||||
if list := kit.Split(line); strings.Contains(line, nfs.FILE) {
|
|
||||||
text = append(text, list[0]+" file")
|
|
||||||
} else if strings.Contains(line, "ins") {
|
|
||||||
text = append(text, list[0]+" +++")
|
|
||||||
} else if strings.Contains(line, "del") {
|
|
||||||
text = append(text, list[0]+" ---")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// m.Push(mdb.TEXT, kit.JoinLine(m.Option(nfs.MODULE), strings.Join(text, ", ")))
|
|
||||||
m.Push(mdb.TEXT, strings.Join(text, ", "))
|
|
||||||
m.PushButton(kit.Dict(m.CommandKey(), "源码"))
|
m.PushButton(kit.Dict(m.CommandKey(), "源码"))
|
||||||
}},
|
}},
|
||||||
mdb.DEV_REQUEST: {Name: "dev.request origin*", Help: "授权"},
|
mdb.DEV_REQUEST: {Name: "dev.request origin*", Help: "授权"},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user