1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 01:04:06 +08:00
This commit is contained in:
shaoying 2021-01-30 17:50:10 +08:00
parent dd822acf8a
commit 7d6c3f083f
10 changed files with 58 additions and 30 deletions

View File

@ -28,7 +28,7 @@ Volcanos("onengine", {help: "解析引擎", list: [], _init: function(can, meta,
},
remote: function(event, can, msg, pane, cmds, cb) { msg.Option("_handle", "false")
if (pane.onengine.engine(event, can, msg, pane, cmds, cb)) { return }
can.misc.Run(event, can, {names: pane._name}, cmds, cb)
can.misc.Runs(event, can, {names: pane._name}, cmds, cb)
pane.run(event, ["search", "Footer.onimport.ncmd"])
}, engine: function(event, can, msg, pane, cmds, cb) { return false },
@ -126,11 +126,21 @@ Volcanos("onengine", {help: "解析引擎", list: [], _init: function(can, meta,
]},
}},
"profile": {name: "测试群", storm: {
"pprof": {name: "pprof", index: [
"auto": {name: "智能 auto", index: [
"web.code.autogen",
"web.code.compile",
"web.code.publish",
]},
"code": {name: "性能 code", index: [
"web.code.bench",
"web.code.pprof",
"web.code.favor",
]},
"pack": {name: "功能 pack", index: [
"web.code.webpack",
"web.code.binpack",
"web.code.install",
]},
}},
"operate": {name: "运维群", storm: {
"cli": {name: "系统 cli", index: [
@ -445,6 +455,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
meta.name = meta.name||value.name||"story"
meta.help = meta.help||value.help||"story"
meta.width = meta.width||can.Conf("width")
meta.height = meta.width||can.Conf("height")
meta.type = meta.type||"story"
can.onappend._init(can, meta, ["/plugin/state.js"], function(sub) {
@ -548,7 +559,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can) {
display: function(can, target) { target = target || can._target
return can.page.Appends(can, target, [{view: ["layout", "table"], list: [
{type: "tr", list: [{view: "content"}]},
{type: "tr", list: [{view: "display", style: {display: "none"}}]},
{type: "tr", list: [{view: "display"}]},
]}])
},
})
@ -690,6 +701,7 @@ Volcanos("onkeypop", {help: "键盘交互", list: [], _init: function(can, targe
})
Volcanos("onmotion", {help: "动态交互", list: [], _init: function(can, target) {
if ((can.user.Search(can, "topic")||"").indexOf("print") > -1) { return }
return
var count = 0, add = true
can.user.isMobile || can.user.Search(can, "share") || can.core.Timer({interval: 100}, function() {

View File

@ -107,6 +107,17 @@ Volcanos("misc", {help: "工具模块", Message: function(event, can) { var msg
xhr.setRequestHeader("Accept", "application/json")
try { xhr.send(data) } catch(e) { can.base.Log(e) }
}),
Runs: shy("请求后端", {order: 0}, function(event, can, dataset, cmds, cb) {
var key = dataset.names+"."+cmds.join(",")
if (can.user.isLocalFile) { var msg = can.request(event); msg.Clear("append")
var res = Volcanos.meta.pack[key]; res && msg.Copy(res)
return typeof cb == "function" && cb(msg)
}
can.misc.Run(event, can, dataset, cmds, function(msg) {
Volcanos.meta.pack[key] = msg
typeof cb == "function" && cb(msg)
})
}),
Run: shy("请求后端", {order: 0}, function(event, can, dataset, cmds, cb) {
var msg = can.request(event = event || {})
var form = {cmds: cmds||msg.cmd}

View File

@ -43,8 +43,8 @@ Volcanos("onengine", {help: "解析引擎", list: [],
var storm = river && river.storm[cmds[1]]
if (!storm || cmds.length != 2) { return false }
if (storm.index) {
can.misc.Run(event, can, {names: pane._name}, ["action", "command"].concat(storm.index), cb)
if (storm.index) { cmds = ["action", "command"].concat(storm.index)
can.misc.Runs(event, can, {names: pane._name}, cmds, cb)
} else {
can.core.List(storm.action, function(value) {
msg.Push("name", value.name||"")

View File

@ -52,7 +52,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
})
},
_background: function(can, msg) {
can.onlayout.background(can, msg.Option("background"), document.body)
can.user.isLocalFile || can.onlayout.background(can, msg.Option("background"), document.body)
},
_agent: function(can, msg, target) {
if (can.user.isMobile) {
@ -179,12 +179,19 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg,
print: function(event, can, button) { can.onlayout.topic(can, "white print") },
clear: function(event, can, button) { can.onimport.background(event, can, button) },
pack: function(event, can) {
can.core.Item(Volcanos.meta.pack, function(key, msg) { delete(msg._event), delete(msg._can) })
var msg = can.request(event, {name: "demo", content: JSON.stringify(Volcanos.meta.pack)})
can.user.input(event, can, [
{_input: "text", name: "name", value: "demo"},
], function(ev, button, meta, list) {
can.core.Item(Volcanos.meta.pack, function(key, msg) {
can.core.List(["_event", "_can", "_xhr", "sessid", ""], function(key) { delete(msg[key]) })
})
var msg = can.request(event, {name: meta.name, content: JSON.stringify(Volcanos.meta.pack)})
var toast = can.user.toast(can, "打包中...", "webpack", 1000000)
can.run(event, ["pack"], function(msg) {
toast.Close(), can.user.toast(can, "打包成功", "webpack")
var toast = can.user.toast(can, "打包中...", "webpack", 1000000)
can.run(event, ["pack"], function(msg) {
toast.Close(), can.user.toast(can, "打包成功", "webpack")
})
return true
})
},

View File

@ -7,9 +7,9 @@ Volcanos("onfigure", {help: "控件详情", list: [], key: {onclick: function(ev
"清空": function(event) { target.value = "" },
})
can.onappend.table(can, msg, function(value) {
can.onappend.table(can, msg, function(value, key, index, line) {
return {text: [value, "td"], onclick: function() {
target.value = value, can.page.Remove(can, can._target)
target.value = line[key], can.page.Remove(can, can._target)
}}
}), can.Status("count", msg.Length())
can.onlayout.figure(can, event)

View File

@ -42,12 +42,13 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb,
_favor: function(can, target) {
can.onappend.plugin(can, {index: "web.code.favor"}, function(sub) {
sub.run = function(event, cmds, cb) {
var msg = can.request(event); if (cmds && cmds[0] == "action") { switch (cmds[1]) {
case "inner": can.onimport.tabview(can, msg.Option("path"), msg.Option("file"), msg.Option("line")); return
} }
can.run(event, ["action", "favor"].concat(cmds), cb, true)
}, can.ui.favor = sub
sub.Select = function(line) {
line.path == can.Option("path") && can.onimport.tabview(can, line.path, line.file, line.line)
}
can.onmotion.hidden(sub, sub._target)
}, target)
},
@ -165,7 +166,7 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"]
can.onaction.selectLine(can, ui.tr)
}, ondblclick: function(event) {
can.onaction.favorLine(can)
can.onaction.favorLine(can, ui.text.innerText)
}},
{view: ["text", "td"], list: [can.onsyntax._parse(can, value)], onclick: function(event) {
can.onaction._selectLine(can, ui)
@ -271,8 +272,6 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"]
_selectLine: function(can, ui) {
can.onkeymap && can.onkeymap._mode(can, "insert")
can.onaction.selectLine(can, ui.tr)
can.onkeymap && can.ui.current.focus()
can.ui.current.setSelectionRange(event.offsetX/13, event.offsetX/13)
},
favorLine: function(can, value) {
@ -280,10 +279,9 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"]
{_input: "text", name: "topic", value: "@key"},
{_input: "text", name: "name", value: "@key"},
], function(event, button, meta, list) {
can.run(event, [
"action", "favor",
can.run(event, ["action", "favor",
"action", "insert", "topic", meta.topic||"some",
"type", can.parse, "name", meta.name||"some", "text", value,
"type", can.parse, "name", meta.name||"some", "text", value||"",
"path", can.Option("path"), "file", can.Option("file"), "line", can.Option("line"),
], function(msg) {
can.user.toast(can, "收藏成功")

View File

@ -134,7 +134,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert"
can.onkeymap._normal(can)
cb(event, can, line, ls)
} else {
can.onkeymap._remote(event, can, line, ["action", "command", "run"].concat(ls))
can.onkeymap._remote(event, can, line, ["action", "engine"].concat(ls))
}
},
jk: function(event, can) { can.keylist = can.keylist.slice(0, -1)
@ -276,6 +276,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert"
left: line.offsetLeft, top: line.offsetTop-can.current.offset()-2,
height: line.offsetHeight, width: line.offsetWidth
}})
can.ui.current.focus(), can.ui.current.setSelectionRange(event.offsetX/13, event.offsetX/13)
can.page.Modify(can, can.ui.command, {className: "command "+can.mode})
},
insertLine: function(can, value, before) {
@ -288,7 +289,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert"
can.onaction.rerankLine(can)
},
})
Volcanos("onaction", {help: "控件交互", list: ["项目", "搜索", "收藏"],
Volcanos("onaction", {help: "控件交互", list: ["项目", "搜索", "运行", "收藏"],
save: function(event, can) { var msg = can.request(event, {content: can.onexport.content(can)})
can.run(event, ["action", "save", can.parse, can.Option("file"), can.Option("path")], function(msg) {
can.user.toast(can, "保存成功")

View File

@ -5,7 +5,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf,
},
_progress: function(can, msg, cmds, cb, silent) {
var size = msg.Append("size") || msg.Append("count")
if (size != "" && size == msg.Append("total")) { return false }
if (size != "" && size == msg.Append("total")) { return true }
can.user.toast(can, {
title: can._name+" "+msg.Append("step")+"% ", duration: 1100,

View File

@ -23,11 +23,9 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
if (can.sup.onaction.change(event, can.sup, key, value, function(msg) { can.onimport._init(can, msg) }).length > 0) { return }
can.sup.Select && can.sup.Select(line)
}, ondblclick: function(event) {
can.onmotion.modify(can, event.target, function(event, value, old) {
var msg = can.sup.request(event, can.Option());
var msg = can.sup.request(event, can.Option()); msg = can.sup.request(event, line)
can.run(event, ["action", "modify", key == "value"? line.key: key, value], function(msg) { }, true)
})
}}
@ -59,7 +57,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
_follow: function(can, msg) {
if (msg.Option("cache.status") == "stop") { return can.user.toast(can, msg.Option("cache.action")+" done!")}
can.page.Modify(can, can.ui.display, {className: "code", style: {"max-height": 400}})
can.page.Modify(can, can.ui.display, {className: "code", style: {"max-height": 400, "display": "block"}})
can.page.Append(can, can.ui.display, [{text: msg.Result()}])
can.ui.display.scrollBy(0, 1000)
@ -80,6 +78,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can.onappend.board(can, msg.Result(), can.ui.display)
can.onimport._board(can, msg)
can.page.Modify(can, can.ui.display, {style: {display: "block"}})
return true
},

View File

@ -11,7 +11,7 @@ function shy(help, meta, list, cb) {
cb.list = next("object") || []
return cb
}; var _can_name = ""
var Volcanos = shy("火山架", {libs: [], cache: {}}, [], function(name, can, libs, cb) {
var Volcanos = shy("火山架", {pack: {}, libs: [], cache: {}}, [], function(name, can, libs, cb) {
var meta = arguments.callee.meta, list = arguments.callee.list
if (typeof name == "object") { var Config = name; _can_name = ""
meta.libs = Config.libs, meta.volcano = Config.volcano