mirror of
https://shylinux.com/x/volcanos
synced 2025-04-26 01:04:06 +08:00
opt code
This commit is contained in:
parent
dd822acf8a
commit
7d6c3f083f
18
frame.js
18
frame.js
@ -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() {
|
||||
|
11
lib/misc.js
11
lib/misc.js
@ -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}
|
||||
|
@ -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||"")
|
||||
|
@ -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
|
||||
})
|
||||
},
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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, "收藏成功")
|
||||
|
@ -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, "保存成功")
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
},
|
||||
|
||||
|
2
proto.js
2
proto.js
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user