mirror of
https://shylinux.com/x/volcanos
synced 2025-05-09 22:28:10 +08:00
opt some
This commit is contained in:
parent
ff12cb5bc9
commit
73563a6e07
25
frame.js
25
frame.js
@ -537,32 +537,25 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
|
|||||||
]}] }])
|
]}] }])
|
||||||
},
|
},
|
||||||
profile: function(can, target) { target = target||can._output
|
profile: function(can, target) { target = target||can._output
|
||||||
var gt = "❯", lt = "❮"
|
var gt = "❯", lt = "❮", down = "˅", up = "˄"
|
||||||
var down = "˅", up = "˄"
|
function init(view) { return view._show && view._show(event, view.style.display == html.NONE), view }
|
||||||
|
|
||||||
var ui = can.page.Append(can, target, [{view: [chat.LAYOUT, html.TABLE], list: [
|
var ui = can.page.Append(can, target, [{view: [chat.LAYOUT, html.TABLE], list: [
|
||||||
{view: [chat.PROJECT, html.TD], list: [
|
{view: [chat.PROJECT, html.TD], list: [{view: [chat.PROJECT]}]},
|
||||||
{view: [chat.PROJECT]},
|
|
||||||
]},
|
|
||||||
{type: html.TD, list: [
|
{type: html.TD, list: [
|
||||||
{type: html.TR, list: [{type: html.TR, list: [
|
{type: html.TR, list: [{type: html.TR, list: [
|
||||||
{view: [chat.CONTENT, html.TD], list: [
|
{view: [chat.CONTENT, html.TD], list: [{view: [chat.CONTENT]},
|
||||||
{view: [chat.CONTENT]},
|
|
||||||
{view: ["toggle project"], list: [{text: [gt, html.DIV]}], onclick: function(event) {
|
{view: ["toggle project"], list: [{text: [gt, html.DIV]}], onclick: function(event) {
|
||||||
event.target.innerHTML = can.onmotion.toggle(can, can.ui.project)? lt: gt
|
event.target.innerHTML = can.onmotion.toggle(can, init(ui.project))? lt: gt
|
||||||
ui.project._show && ui.project._show(event)
|
|
||||||
}},
|
}},
|
||||||
{view: ["toggle profile"], list: [{text: [lt, html.DIV]}], onclick: function(event) {
|
{view: ["toggle profile"], list: [{text: [lt, html.DIV]}], onclick: function(event) {
|
||||||
event.target.innerHTML = can.onmotion.toggle(can, can.ui.profile)? gt: lt
|
event.target.innerHTML = can.onmotion.toggle(can, init(ui.profile))? gt: lt
|
||||||
ui.profile._show && ui.profile._show(event)
|
|
||||||
}},
|
}},
|
||||||
{view: ["toggle display"], list: [{text: [down, html.DIV]}], onclick: function(event) {
|
{view: ["toggle display"], list: [{text: [down, html.DIV]}], onclick: function(event) {
|
||||||
event.target.innerHTML = can.onmotion.toggle(can, can.ui.display)? down: up
|
event.target.innerHTML = can.onmotion.toggle(can, init(ui.display))? down: up
|
||||||
ui.display._show && ui.display._show(event)
|
|
||||||
}},
|
}},
|
||||||
]},
|
]},
|
||||||
{view: [chat.PROFILE, html.TD], list: [
|
{view: [chat.PROFILE, html.TD], list: [{view: [chat.PROFILE], style: {display: html.NONE}}]},
|
||||||
{view: [chat.PROFILE], style: {display: html.NONE}},
|
|
||||||
]},
|
|
||||||
]}]},
|
]}]},
|
||||||
{view: [chat.DISPLAY, html.TR], list: [{view: [chat.DISPLAY], style: {display: html.NONE}}]}
|
{view: [chat.DISPLAY, html.TR], list: [{view: [chat.DISPLAY], style: {display: html.NONE}}]}
|
||||||
]}
|
]}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target) {
|
||||||
can.onmotion.clear(can), can.ui = can.onlayout.profile(can)
|
can.onmotion.clear(can), can.ui = can.onlayout.profile(can)
|
||||||
can.onimport._content(can, target)
|
can.onimport._project(can, can.ui.project)
|
||||||
can.onimport._profile(can, target)
|
can.onimport._content(can, can.ui.content)
|
||||||
can.onimport._project(can, target)
|
can.onimport._profile(can, can.ui.profile)
|
||||||
can.onimport._display(can, target)
|
can.onimport._display(can, can.ui.display)
|
||||||
can.onimport._search(can, target)
|
can.onimport._search(can, target)
|
||||||
can.onimport._favor(can, target)
|
can.onimport._favor(can, target)
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
|
|||||||
can.history = can.history||[]
|
can.history = can.history||[]
|
||||||
|
|
||||||
can.onimport.tabview(can, msg.Option(nfs.PATH), msg.Option(nfs.FILE), msg.Option(nfs.LINE)||1, function() {
|
can.onimport.tabview(can, msg.Option(nfs.PATH), msg.Option(nfs.FILE), msg.Option(nfs.LINE)||1, function() {
|
||||||
var repos = can.base.trimSuffix(can.base.trimPrefix(msg.Option(nfs.PATH), "usr/"), "/")
|
var repos = can.base.trimSuffix(can.base.trimPrefix(msg.Option(nfs.PATH), "usr/"), ice.PS)
|
||||||
can.onimport.toolkit(can, {index: "web.code.git.spide", args: [repos]})
|
can.onimport.toolkit(can, {index: "web.code.git.spide", args: [repos]})
|
||||||
can.onimport.toolkit(can, {index: "web.code.git.trend", args: [repos]})
|
can.onimport.toolkit(can, {index: "web.code.git.trend", args: [repos]})
|
||||||
can.onimport.toolkit(can, {index: "web.code.git.total", args: [repos]})
|
can.onimport.toolkit(can, {index: "web.code.git.total", args: [repos]})
|
||||||
@ -22,61 +22,44 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
_project: function(can, target) {
|
_project: function(can, target) {
|
||||||
can.ui.project._show = function(event) {
|
target._show = function(event) { can.onimport._content(can) }
|
||||||
can.onimport._content(can)
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
_content: function(can) { var height = can.Conf(html.HEIGHT)
|
_content: function(can, target) { var height = can.Conf(html.HEIGHT)
|
||||||
if (can.user.mod.isCmd) {
|
if (can.user.mod.isCmd) {
|
||||||
can.page.style(can, can.ui.content, html.MAX_WIDTH, can.Conf(html.WIDTH)-can.ui.project.offsetWidth-33)
|
|
||||||
can.page.style(can, can.ui.content, html.HEIGHT, height)
|
|
||||||
can.page.style(can, can.ui.project, html.HEIGHT, height)
|
can.page.style(can, can.ui.project, html.HEIGHT, height)
|
||||||
|
can.page.style(can, can.ui.content, html.HEIGHT, height)
|
||||||
|
can.page.style(can, can.ui.content, html.MAX_WIDTH, can.Conf(html.WIDTH)-can.ui.project.offsetWidth-33)
|
||||||
can.page.style(can, can._output, html.WIDTH, can.Conf(html.WIDTH))
|
can.page.style(can, can._output, html.WIDTH, can.Conf(html.WIDTH))
|
||||||
} else {
|
} else {
|
||||||
can.page.style(can, can.ui.content, html.MAX_HEIGHT, height)
|
|
||||||
can.page.style(can, can.ui.project, html.MAX_HEIGHT, height)
|
can.page.style(can, can.ui.project, html.MAX_HEIGHT, height)
|
||||||
|
can.page.style(can, can.ui.content, html.MAX_HEIGHT, height)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_profile: function(can, target) {
|
_profile: function(can, target) {
|
||||||
var ui = can.page.Append(can, can.ui.profile, [{view: html.ACTION}, {view: html.OUTPUT}]); can.ui.profile_output = ui.output
|
var ui = can.page.Append(can, target, [{view: html.ACTION}, {view: html.OUTPUT}]); can.ui.profile_output = ui.output
|
||||||
var action = can.onappend._action(can, [cli.EXEC, cli.CLEAR, cli.CLOSE], ui.action, kit.Dict(
|
var action = can.onappend._action(can, [cli.SHOW, cli.CLEAR, cli.CLOSE], ui.action, kit.Dict(
|
||||||
cli.EXEC, function(event) { can.onaction["展示"](event, can) },
|
cli.SHOW, function(event) { can.onaction["展示"](event, can) },
|
||||||
cli.CLEAR, function(event) { can.onmotion.clear(can, ui.output) },
|
cli.CLEAR, function(event) { can.onmotion.clear(can, ui.output) },
|
||||||
cli.CLOSE, function(event) { can.onmotion.hidden(can, can.ui.profile), can.onimport._content(can, target) },
|
cli.CLOSE, function(event) { can.onmotion.hidden(can, target), can.onimport._content(can, target) },
|
||||||
))
|
))
|
||||||
can.ui.profile._show = function(event) {
|
target._show = function(event, hidden) { action[hidden? cli.CLOSE: cli.SHOW](event) }
|
||||||
if (can.ui.profile.style.display == html.NONE) {
|
|
||||||
action[cli.CLOSE](event)
|
|
||||||
} else {
|
|
||||||
can.onimport.profile(can)
|
|
||||||
action[cli.EXEC](event)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
_display: function(can, target) { can.ui.toolkit = can.onappend.field(can, "toolkit", {}, can._output)
|
_display: function(can, target) { can.ui.toolkit = can.onappend.field(can, "toolkit", {}, can._output)
|
||||||
var ui = can.page.Append(can, can.ui.display, [{view: html.ACTION}, {view: html.OUTPUT}]); can.ui.output = ui.output
|
var ui = can.page.Append(can, target, [{view: html.ACTION}, {view: html.OUTPUT}]); can.ui.display_output = ui.output
|
||||||
var action = can.onappend._action(can, [cli.EXEC, cli.CLEAR, cli.CLOSE], ui.action, kit.Dict(
|
var action = can.onappend._action(can, [cli.EXEC, cli.CLEAR, cli.CLOSE], ui.action, kit.Dict(
|
||||||
cli.EXEC, function(event) { can.onaction["执行"](event, can) },
|
cli.EXEC, function(event) { can.onaction["执行"](event, can) },
|
||||||
cli.CLEAR, function(event) { can.onmotion.clear(can, can.ui.output) },
|
cli.CLEAR, function(event) { can.onmotion.clear(can, ui.output) },
|
||||||
cli.CLOSE, function(event) { can.onmotion.hidden(can, can.ui.display), can.onimport._content(can, target) },
|
cli.CLOSE, function(event) { can.onmotion.hidden(can, target), can.onimport._content(can, target) },
|
||||||
))
|
))
|
||||||
can.ui.display._show = function(event) {
|
target._show = function(event, hidden) { action[hidden? cli.CLOSE: cli.EXEC](event) }
|
||||||
if (can.ui.display.style.display == html.NONE) {
|
|
||||||
action[cli.CLOSE](event)
|
|
||||||
} else {
|
|
||||||
can.onimport.display(can)
|
|
||||||
action[cli.EXEC](event)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
_search: function(can, target) {
|
_search: function(can, target) {
|
||||||
can.onengine.plugin(can, "can.code.inner.search", shy("搜索", {}, [
|
can.onengine.plugin(can, "can.code.inner.search", shy("搜索", {}, [
|
||||||
{type: html.TEXT, name: "word", value: cli.MAIN}, {type: html.BUTTON, name: nfs.FIND}, {type: html.BUTTON, name: cli.BACK},
|
{type: html.TEXT, name: "word", value: cli.MAIN}, {type: html.BUTTON, name: nfs.FIND}, {type: html.BUTTON, name: cli.BACK},
|
||||||
], function(msg, cmds, cb) { can.misc.runAction(can, msg, cmds, cb, kit.Dict(
|
], function(msg, cmds, cb) { can.misc.runAction(can, msg, cmds, cb, kit.Dict(
|
||||||
nfs.FIND, function(cmds) { msg.Option(ice.MSG_HANDLE, ice.TRUE), msg.Option(ice.MSG_FIELDS, "file,line,text")
|
nfs.FIND, function(cmds) { msg.Option(kit.Dict(ice.MSG_HANDLE, ice.TRUE, ice.MSG_FIELDS, "file,line,text"))
|
||||||
can.run(msg._event, [ctx.ACTION, mdb.SEARCH, can.parse, cmds[0], can.Option(nfs.PATH)], function(msg) { var sub = msg._can
|
can.run(msg._event, [ctx.ACTION, mdb.SEARCH, can.parse, cmds[0], can.Option(nfs.PATH)], function(msg) { var sub = msg._can
|
||||||
can.page.style(can, sub._output, html.MAX_HEIGHT, 200)
|
sub.Option("word", cmds[0]), can.page.style(can, sub._output, html.MAX_HEIGHT, 200)
|
||||||
sub.Option("word", cmds[0])
|
|
||||||
can.onmotion.hidden(can, can.ui.toolkit.fieldset, true), can.page.ClassList.has(sub, sub._target, html.SELECT) || sub._legend.click()
|
can.onmotion.hidden(can, can.ui.toolkit.fieldset, true), can.page.ClassList.has(sub, sub._target, html.SELECT) || sub._legend.click()
|
||||||
sub.onmotion.clear(sub), sub.onappend.table(sub, msg, function(value, key, index, line) {
|
sub.onmotion.clear(sub), sub.onappend.table(sub, msg, function(value, key, index, line) {
|
||||||
return {text: ["", html.TD], list: [{text: [can.page.replace(can, value, ice.PWD, ""), html.DIV]}], onclick: function(event) {
|
return {text: ["", html.TD], list: [{text: [can.page.replace(can, value, ice.PWD, ""), html.DIV]}], onclick: function(event) {
|
||||||
@ -99,7 +82,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
|
|||||||
},
|
},
|
||||||
))) { return }
|
))) { return }
|
||||||
|
|
||||||
can.run(event, can.misc.concat(can, [ctx.ACTION, code.FAVOR], cmds), function(msg) { var sub = msg._can;
|
can.run(event, can.misc.concat(can, [ctx.ACTION, code.FAVOR], cmds), function(msg) { var sub = msg._can
|
||||||
sub.onmotion.clear(sub), sub.onappend.table(sub, msg, function(value, key, index, line) {
|
sub.onmotion.clear(sub), sub.onappend.table(sub, msg, function(value, key, index, line) {
|
||||||
if (msg.append.length == 2 && msg.append[0] == mdb.KEY && msg.append[1] == mdb.VALUE) {
|
if (msg.append.length == 2 && msg.append[0] == mdb.KEY && msg.append[1] == mdb.VALUE) {
|
||||||
if (key == mdb.VALUE) { key = line.key }
|
if (key == mdb.VALUE) { key = line.key }
|
||||||
@ -137,7 +120,6 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
|
|||||||
can._msg = can.tabview[path+file]
|
can._msg = can.tabview[path+file]
|
||||||
|
|
||||||
can.Option({path: path, file: file, line: line||parseInt(can._msg.Option(nfs.LINE))||1})
|
can.Option({path: path, file: file, line: line||parseInt(can._msg.Option(nfs.LINE))||1})
|
||||||
can._msg.Option(nfs.LINE, can.Option(nfs.LINE))
|
|
||||||
return can.onsyntax._init(can, can._msg), can.base.isFunc(cb) && cb()
|
return can.onsyntax._init(can, can._msg), can.base.isFunc(cb) && cb()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -196,7 +178,7 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
|
|||||||
can.parse = can.base.Ext(can.file), can.Status("模式", "normal")
|
can.parse = can.base.Ext(can.file), can.Status("模式", "normal")
|
||||||
can.onmotion.select(can, can._action, chat.DIV_TABS, msg._tab)
|
can.onmotion.select(can, can._action, chat.DIV_TABS, msg._tab)
|
||||||
return can.file
|
return can.file
|
||||||
}, can.ui.content, can.ui.profile_output, can.ui.output)) {
|
}, can.ui.content, can.ui.profile_output, can.ui.display_output)) {
|
||||||
return can.onaction.selectLine(can, parseInt(msg.Option(nfs.LINE)))
|
return can.onaction.selectLine(can, parseInt(msg.Option(nfs.LINE)))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -245,11 +227,13 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "工具"],
|
|||||||
},
|
},
|
||||||
|
|
||||||
"展示": function(event, can) { var msg = can.request(event, {_toast: "运行中..."})
|
"展示": function(event, can) { var msg = can.request(event, {_toast: "运行中..."})
|
||||||
|
can.onimport.profile(can)
|
||||||
can.run(event, [ctx.ACTION, mdb.ENGINE, can.parse, can.Option(nfs.FILE), can.Option(nfs.PATH)], function(msg) {
|
can.run(event, [ctx.ACTION, mdb.ENGINE, can.parse, can.Option(nfs.FILE), can.Option(nfs.PATH)], function(msg) {
|
||||||
can.onimport.profile(can, msg)
|
can.onimport.profile(can, msg)
|
||||||
}, true)
|
}, true)
|
||||||
},
|
},
|
||||||
"执行": function(event, can) { var msg = can.request(event, {_toast: "运行中..."})
|
"执行": function(event, can) { var msg = can.request(event, {_toast: "运行中..."})
|
||||||
|
can.onimport.profile(can)
|
||||||
can.run(event, [ctx.ACTION, mdb.ENGINE, can.parse, can.Option(nfs.FILE), can.Option(nfs.PATH)], function(msg) {
|
can.run(event, [ctx.ACTION, mdb.ENGINE, can.parse, can.Option(nfs.FILE), can.Option(nfs.PATH)], function(msg) {
|
||||||
can.onimport.display(can, msg)
|
can.onimport.display(can, msg)
|
||||||
}, true)
|
}, true)
|
||||||
|
1
proto.js
1
proto.js
@ -62,6 +62,7 @@ var cli = {
|
|||||||
START: "start", STOP: "stop", DONE: "done", ERROR: "error",
|
START: "start", STOP: "stop", DONE: "done", ERROR: "error",
|
||||||
CLEAR: "clear", REFRESH: "refresh",
|
CLEAR: "clear", REFRESH: "refresh",
|
||||||
EXEC: "exec",
|
EXEC: "exec",
|
||||||
|
SHOW: "show",
|
||||||
MAIN: "main",
|
MAIN: "main",
|
||||||
|
|
||||||
RED: "red", GREEN: "green", BLUE: "blue",
|
RED: "red", GREEN: "green", BLUE: "blue",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user