1
0
forked from x/volcanos
This commit is contained in:
shaoying 2021-02-10 11:49:31 +08:00
parent cebbef0366
commit de1f5faeb5
6 changed files with 41 additions and 25 deletions

View File

@ -26,7 +26,8 @@ Volcanos("onengine", {help: "解析引擎", list: [], _init: function(can, meta,
"list": cmds.slice(2), "cb": cb, "target": sub._target,
}, mod)
},
remote: function(event, can, msg, pane, cmds, cb) { msg.Option("_handle", "false")
remote: function(event, can, msg, pane, cmds, cb) {
delete(msg._handle), delete(msg._toast)
if (pane.onengine.engine(event, can, msg, pane, cmds, cb)) { return }
can.misc.Runs(event, can, {names: pane._name}, cmds, cb)
pane.run(event, ["search", "Footer.onimport.ncmd"])
@ -219,6 +220,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
}, list.concat(Volcanos.meta.volcano, Volcanos.meta.libs), function(sub) { sub.Conf(meta)
meta.feature = sub.base.Obj(meta.feature, {})
sub.page.ClassList.add(sub, field, meta.style||meta.feature.style||"")
sub.page.ClassList.add(sub, field, meta.index? meta.index.split(".").pop(): meta.name)
typeof cb == "function" && cb(sub)
meta.option = can.base.Obj(meta.option||"{}", {})
@ -764,7 +766,7 @@ Volcanos("onmotion", {help: "动态交互", list: [], _init: function(can, targe
can.page.Modify(can, target||can._target, {style: {display: "none"}})
},
toggle: function(can, target) {
can.page.Toggle(can, target||can._target)
return can.page.Toggle(can, target||can._target)
},
select: function(can, target, name, which) {
can.page.Select(can, target, name, function(item, index) {

View File

@ -1,29 +1,35 @@
Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb, target) {
can.history = can.history || []
can.onmotion.clear(can), can.ui = can.onlayout.profile(can)
var height = can.Conf("height")-320; height < 240 && (height = 240)
can.page.Modify(can, can.ui.project, {style: {"max-height": height}})
can.page.Modify(can, can.ui.content, {style: {"max-height": height}})
can.page.Modify(can, can.ui.content, {style: {"min-width": can.Conf("width")-170}})
can.page.Modify(can, can.ui.display, {style: {display: "none"}})
var ui = can.page.Append(can, can.ui.display, [
{view: "action"}, {view: "output"},
]); can.ui.output = ui.output
can.onappend._action(can, ["关闭", "清空", "运行"], ui.action, {
"关闭": function(event) { can.onmotion.hidden(can, can.ui.display) },
"清空": function(event) { can.onmotion.clear(can, can.ui.output) },
"运行": function(event) { can.onaction["运行"](event, can) },
})
can.onimport._content(can, target)
can.onimport._output(can, target)
can.onimport._search(can, target)
can.onimport._favor(can, target)
can.history = can.history || []
msg.Option({path: can.Option("path"), file: can.Option("file"), line: can.Option("line")||1})
can.tabview = can.tabview || {}, can.tabview[can.Option("path")+can.Option("file")] = msg
can.onimport.tabview(can, msg.Option("path"), msg.Option("file"), msg.Option("line")||1)
can.onimport.project(can, msg.Option("path"))
typeof cb == "function" && cb(msg)
can.onimport._search(can, target)
can.onimport._favor(can, target)
},
_content: function(can, target) {
var height = can.Conf("height")-320; height < 240 && (height = 240)
can.page.Modify(can, can.ui.project, {style: {"max-height": height}})
can.page.Modify(can, can.ui.content, {style: {"max-height": height}})
can.page.Modify(can, can.ui.content, {style: {"min-width": can.Conf("width")-170}})
can.page.Modify(can, can.ui.display, {style: {display: "none"}})
},
_output: function(can, target) {
var ui = can.page.Append(can, can.ui.display, [
{view: "action"}, {view: "output"},
]); can.ui.output = ui.output
can.onappend._action(can, ["关闭", "清空", "运行"], ui.action, {
"关闭": function(event) { can.onmotion.hidden(can, can.ui.display) },
"清空": function(event) { can.onmotion.clear(can, can.ui.output) },
"运行": function(event) { can.onaction["运行"](event, can) },
})
},
_search: function(can, target) {
var ui = can.page.Append(can, target, [
@ -60,6 +66,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb,
can.onmotion.hidden(sub, sub._target)
}, target)
},
project: function(can, path) { can.Option({path: path})
var msg = can.request({}, {dir_root: path, dir_deep: true})
can.run(msg._event, ["./"], function(msg) {
@ -156,6 +163,13 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"]
last && can.onimport.tabview(can, last.path, last.file, last.line)
can.Status("跳转数", can.history.length)
},
"项目": function(event, can) {
var width = can.Conf("width")-(can.onmotion.toggle(can, can.ui.project)? 170: 0)
can.page.Modify(can, can.ui.content, {style: {"min-width": width}})
},
"搜索": function(event, can) { can.onmotion.toggle(can, can.ui.search) },
"收藏": function(event, can) { can.onmotion.toggle(can, can.ui.favor._target) },
"运行": function(event, can) {
var msg = can.request(event, {_toast: "运行中..."})
can.run(event, ["action", "engine", can.parse, can.Option("file"), can.Option("path")], function(msg) {
@ -164,9 +178,6 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"]
can.page.Modify(can, can.ui.display, {style: {display: "block"}})
}, true)
},
"项目": function(event, can) { can.onmotion.toggle(can, can.ui.project) },
"搜索": function(event, can) { can.onmotion.toggle(can, can.ui.search) },
"收藏": function(event, can) { can.onmotion.toggle(can, can.ui.favor._target) },
appendLine: function(can, value) {
var ui = can.page.Append(can, can.ui.content, [{type: "tr", list: [

View File

@ -297,7 +297,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

@ -1,3 +1,6 @@
fieldset.draw div.output div.content svg {
background-color:#1b5b738c;
}
fieldset.draw div.output {
background-color:#1b5b738c;
}

View File

@ -6,7 +6,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can._tree = can.onimport._tree(can, msg.Table(), "path", "/")
can.onmotion.clear(can)
can.onappend.plugins(can, {type: "inner draw drawer", index: "web.wiki.draw"}, function(sub) {
can.onappend.plugins(can, {type: "inner", index: "web.wiki.draw"}, function(sub) {
sub.run = function(event, cmds, cb) {
typeof cb == "function" && cb(sub.request())
can.core.Timer(100, function() { can.sub = sub._outputs[0]

View File

@ -5,7 +5,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can.Action("height", parseInt(msg.Option("height")||"400"))
can.onmotion.clear(can)
can.onappend.plugins(can, {type: "inner draw drawer", index: "web.wiki.draw"}, function(sub) {
can.onappend.plugins(can, {type: "inner", index: "web.wiki.draw"}, function(sub) {
sub.run = function(event, cmds, cb) { typeof cb == "function" && cb(sub.request())
can.core.Timer(100, function() { can.sub = sub._outputs[0]
can.sub.onmotion.hidden(can.sub, can.sub.ui.project)