1
0
forked from x/volcanos
This commit is contained in:
shaoying 2020-07-01 20:39:48 +08:00
parent d5ce8f9339
commit 97f55bdf09
9 changed files with 57 additions and 34 deletions

View File

@ -42,19 +42,25 @@ Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
if (sub.hasOwnProperty(key)) { can.onengine[key] = value } if (sub.hasOwnProperty(key)) { can.onengine[key] = value }
}); return true }, }); return true },
river: { river: {
"main": {name: "main", storm: { "product": {name: "产品群", storm: {
"office": {name: "office", index: [
"web.wiki.draw.draw",
"web.team.plan",
"web.wiki.word",
"web.wiki.data",
"web.wiki.feel",
]},
"chrome": {name: "chrome", index: [
"web.code.chrome.chrome",
"web.code.chrome.bookmark",
]},
}},
"project": {name: "研发群", storm: {
"inner": {name: "inner", index: [ "inner": {name: "inner", index: [
"web.code.inner", "web.code.inner",
"web.code.git.status", "web.code.git.status",
"web.code.git.total", "web.code.git.total",
]}, ]},
"pprof": {name: "pprof", index: [
"web.code.pprof",
"web.code.bench",
"web.favor",
"web.cache",
"web.share",
]},
"relay": {name: "relay", index: [ "relay": {name: "relay", index: [
"aaa.totp.get", "aaa.totp.get",
"web.route", "web.route",
@ -63,23 +69,25 @@ Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
"web.code.docker.container", "web.code.docker.container",
"web.code.tmux.session", "web.code.tmux.session",
]}, ]},
"office": {name: "office", index: [ "tmux": {name: "tmux", index: [
"web.team.plan", "web.code.tmux.text",
"web.wiki.feel", "web.code.tmux.buffer",
"web.wiki.data", "web.code.tmux.session",
"web.wiki.word", ]},
"web.wiki.draw.draw", }},
"profile": {name: "测试群", storm: {
"pprof": {name: "pprof", index: [
"web.code.pprof",
"web.code.bench",
"web.favor",
"web.cache",
"web.share",
]}, ]},
"docker": {name: "docker", index: [ "docker": {name: "docker", index: [
"web.code.docker.image", "web.code.docker.image",
"web.code.docker.container", "web.code.docker.container",
"web.code.docker.command", "web.code.docker.command",
]}, ]},
"tmux": {name: "tmux", index: [
"web.code.tmux.text",
"web.code.tmux.buffer",
"web.code.tmux.session",
]},
}}, }},
}, },
@ -118,6 +126,9 @@ Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
can.misc.Run(event, can, {names: pane._name}, [river.name, storm.name, "order"].concat(storm.index), cb) can.misc.Run(event, can, {names: pane._name}, [river.name, storm.name, "order"].concat(storm.index), cb)
return true return true
} }
if (location.pathname == "/share") {
return false
}
can.core.List(storm.action, function(value) { can.core.List(storm.action, function(value) {
msg.Push("name", value.name||"") msg.Push("name", value.name||"")
@ -193,7 +204,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
can.page.ClassList.add(can, field, meta.feature.style||"") can.page.ClassList.add(can, field, meta.feature.style||"")
can.onappend._legend(sub, legend) can.onappend._legend(sub, legend)
if (can.user.Search(can, "share") && can.user.Search(can, "river") && can.user.Search(can, "storm")) { if (can.user.Search(can, "share") && can.user.Search(can, "title")) {
can.page.Select(can, field, "legend", function(item) { can.page.Remove(can, item) }) can.page.Select(can, field, "legend", function(item) { can.page.Remove(can, item) })
} }
sub.onaction && can.onappend._action(sub, sub._action, sub.onaction.list) sub.onaction && can.onappend._action(sub, sub._action, sub.onaction.list)
@ -527,7 +538,7 @@ Volcanos("onlayout", { _init: function(can, meta, list, cb, target) {
can.page.Select(can, field, "div.output", function(output) { can.page.Select(can, field, "div.output", function(output) {
var border = output.offsetHeight - output.clientHeight var border = output.offsetHeight - output.clientHeight
can.page.Modify(can, output, { style: { can.page.Modify(can, output, { style: {
height: height-border*2-20+"px", height: height-border*2-40+"px",
} }) } })
}) })
}) })

View File

@ -9,7 +9,7 @@ Volcanos("ondetail", {help: "交互菜单", list: ["共享", "更名", "删除"]
"共享": function(event, can, value, sub) { var msg = sub.request(event) "共享": function(event, can, value, sub) { var msg = sub.request(event)
var list = [can.Conf("river"), can.Conf("storm"), "share", value.name, value.help] var list = [can.Conf("river"), can.Conf("storm"), "share", value.name, value.help]
list = list.concat([ list = list.concat([
value.pod||"", value.group||"", value.index, JSON.stringify(can.core.Item(sub.Option(), function(key, value) { return value })), value.pod||can.user.Search(can, "pod")||"", value.group||"", value.index, JSON.stringify(can.core.Item(sub.Option(), function(key, value) { return value })),
JSON.stringify(sub.Option()) JSON.stringify(sub.Option())
]) ])
can.user.share(can, msg, list) can.user.share(can, msg, list)

View File

@ -56,7 +56,7 @@ Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg,
can.run(msg._event, [], function(msg) { can._output.innerHTML = "" can.run(msg._event, [], function(msg) { can._output.innerHTML = ""
can.Conf("username", msg.Option("user.nick")||msg.Option("user.name")) can.Conf("username", msg.Option("user.nick")||msg.Option("user.name"))
can.core.List(msg.result||["github.com/shylinux/contexts"], function(title) { can.user.isMobile || can.core.List(msg.result||["github.com/shylinux/contexts"], function(title) {
can.page.Append(can, can._output, [{view: ["title", "div", title], can.page.Append(can, can._output, [{view: ["title", "div", title],
click: function(event) { can.onaction["title"](event, can, "title") }, click: function(event) { can.onaction["title"](event, can, "title") },
}]) }])
@ -73,11 +73,11 @@ Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg,
}) })
}) })
can.search = can.page.Append(can, can._output, [{view: "search", list: [{type: "input", onkeydown: function(event) { can.user.isMobile || (can.search = can.page.Append(can, can._output, [{view: "search", list: [{type: "input", onkeydown: function(event) {
switch (event.key) { switch (event.key) {
case "Enter": can.run(event, ["search", "Search.onimport.input", event.target.value]); break case "Enter": can.run(event, ["search", "Search.onimport.input", "*", event.target.value]); break
} }
}, }], }]).input }, }], }]).input)
var height = document.body.offsetHeight var height = document.body.offsetHeight
var ui = can.page.Append(can, can._output, can.core.List(["Search", "River", "Storm", "Footer"], function(item) { var ui = can.page.Append(can, can._output, can.core.List(["Search", "River", "Storm", "Footer"], function(item) {
@ -106,6 +106,9 @@ Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg,
// ui.River.click(), ui.Footer.click(), ui.Storm.click() // ui.River.click(), ui.Footer.click(), ui.Storm.click()
// ui.River.click(), ui.Footer.click() // ui.River.click(), ui.Footer.click()
} }
if (can.user.isMobile) {
ui.River.click(), ui.Footer.click(), ui.Storm.click()
}
typeof cb == "function" && cb() typeof cb == "function" && cb()
}) })

View File

@ -12,6 +12,7 @@ fieldset.River>div.output>div.item {
padding-left:6px; padding-left:6px;
} }
fieldset.River>div.output>div.item:hover { fieldset.River>div.output>div.item:hover {
cursor:pointer;
background-color:red; background-color:red;
border:ridge 2px yellow; border:ridge 2px yellow;
} }

View File

@ -23,7 +23,7 @@ Volcanos("ondetail", {help: "菜单交互", list: ["添加用户", "重命名",
can.onexport._init(can, msg, list, cb, target) can.onexport._init(can, msg, list, cb, target)
}, },
"添加用户": function(event, can, river, button) { "添加用户": function(event, can, river, button) {
can.run(event, ["search", "Search.onimport.select", "", "", "user"], function(list) { can.run(event, ["search", "Search.onimport.select", "user", "", ""], function(list) {
var args = []; can.core.List(list, function(item) { var args = []; can.core.List(list, function(item) {
args = args.concat([item[4]]) args = args.concat([item[4]])
}) })

View File

@ -7,7 +7,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta,
can.ui = can.page.Append(can, can._output, [{view: "content"}, {view: "display"}]) can.ui = can.page.Append(can, can._output, [{view: "content"}, {view: "display"}])
can.page.Modify(can, can._target, {style: {display: "block"}}) can.page.Modify(can, can._target, {style: {display: "block"}})
can.page.Select(can, can._action, "input[name=word]", function(item) { item.value = cmd[0] }) can.page.Select(can, can._action, "input[name=word]", function(item) { item.value = cmd[1] })
can.run({}, cmd, function(msg) { can.run({}, cmd, function(msg) {
can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line) { can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line) {
return {text: [value, "td"], onclick: function(event) { return {text: [value, "td"], onclick: function(event) {
@ -28,8 +28,8 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta,
}, },
select: function(can, msg, cmd, cb) { can._output.innerHTML = "" select: function(can, msg, cmd, cb) { can._output.innerHTML = ""
function search(word) { cmd[0] = word function search(word) { cmd[1] = word
can.run({}, [cmd.join(";")], function(msg) { can.ui.content.innerHTML = "" can.run({}, cmd, function(msg) { can.ui.content.innerHTML = ""
can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line) { can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line) {
return {text: [value, "td"], onclick: function(event) { return {text: [value, "td"], onclick: function(event) {
can.Status("index", index) can.Status("index", index)
@ -64,7 +64,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta,
]) ])
can.page.Modify(can, can._target, {style: {display: "block"}}) can.page.Modify(can, can._target, {style: {display: "block"}})
can.ui.input.focus() can.ui.input.focus()
search(cmd[0]) search(cmd[1])
}, },
}) })
Volcanos("onaction", {help: "交互操作", list: ["关闭", "清空", "完成"], _init: function(can, msg, list, cb, target) { Volcanos("onaction", {help: "交互操作", list: ["关闭", "清空", "完成"], _init: function(can, msg, list, cb, target) {

View File

@ -21,7 +21,7 @@ Volcanos("onaction", {help: "交互操作", list: ["创建", "刷新"], _init: f
}) })
Volcanos("ondetail", {help: "交互菜单", list: ["添加工具", "重命名", "共享", "删除"], Volcanos("ondetail", {help: "交互菜单", list: ["添加工具", "重命名", "共享", "删除"],
"添加工具": function(event, can, value) { "添加工具": function(event, can, value) {
can.run(event, ["search", "Search.onimport.select", "", "", "command"], function(list) { can.run(event, ["search", "Search.onimport.select", "command", "", ""], function(list) {
var args = []; can.core.List(list, function(item) { var args = []; can.core.List(list, function(item) {
args = args.concat([item[0], item[5], item[4], ""]) args = args.concat([item[0], item[5], item[4], ""])
}) })

View File

@ -314,7 +314,12 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
}, },
png: { png: {
line: function(can, line) { return can.page.Format("img", "/share/local/"+line) } display: true,
show: function(can) {
can.page.Append(can, can.ui.display, can.core.List(can._msg.result, function(line) {
return {img: "/share/local/"+line, height: 400}
}))
}
}, },
url: { url: {
line: function(can, line) { line: function(can, line) {
@ -327,6 +332,7 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
} }
}, },
svg: { svg: {
display: true,
show: function(can) { show: function(can) {
can.page.Append(can, can.ui.display, can.core.List(can._msg.result, function(line) { can.page.Append(can, can.ui.display, can.core.List(can._msg.result, function(line) {
return {type: "iframe", data: {src: "/share/local/"+line}, style: {width: can.Conf("width")-80+"px"}} return {type: "iframe", data: {src: "/share/local/"+line}, style: {width: can.Conf("width")-80+"px"}}
@ -334,9 +340,10 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
} }
}, },
jpg: { jpg: {
display: true,
show: function(can) { show: function(can) {
can.page.Append(can, can.ui.display, can.core.List(can._msg.result, function(line) { can.page.Append(can, can.ui.display, can.core.List(can._msg.result, function(line) {
return {img: "/share/local/"+line} return {img: "/share/local/"+line, height: 400}
})) }))
} }
}, },

View File

@ -63,6 +63,7 @@ Volcanos("onfigure", {help: "组件菜单", list: [],
return {img: path, height: can.height} return {img: path, height: can.height}
}, },
jpg: function(can, path) { return can.onfigure.image(can, path) }, jpg: function(can, path) { return can.onfigure.image(can, path) },
png: function(can, path) { return can.onfigure.image(can, path) },
qrc: function(can, path) { return can.onfigure.image(can, path) }, qrc: function(can, path) { return can.onfigure.image(can, path) },
video: function(can, path) { var auto = true, loop = true, total = 0 video: function(can, path) { var auto = true, loop = true, total = 0