1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
This commit is contained in:
harveyshao 2022-03-03 10:38:10 +08:00
parent 08adaff93d
commit 06f5715a67
4 changed files with 21 additions and 8 deletions

View File

@ -176,6 +176,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
CloneInput: function() { can.onmotion.focus(can, add(item)._target) },
}, [item.display, chat.PLUGIN_INPUT_JS], function(input) { input.Conf(item)
input.run = function(event, cmds, cb, silent) { var msg = can.request(event)
if (item._cb) { return item._cb(event) }
if (msg.RunAction(event, can.core.Value(can, "_outputs.-1"), cmds)) { return }
if (msg.RunAction(event, input, cmds)) { return }
return can.Update(event, can.Input(cmds, silent), cb, silent)

View File

@ -77,6 +77,7 @@ Volcanos("onengine", {help: "解析引擎", list: [], _engine: function(event, p
msg.Push(ctx.INDEX, value.index||"")
msg.Push(ctx.ARGS, value.args||"[]")
msg.Push(ice.MSG_ACTION, value._action||"")
msg.Push("display", value.display||"")
}), can.base.isFunc(cb) && cb(msg)
}
return true

View File

@ -40,7 +40,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
cli.CLOSE, function(event) { can.onmotion.hidden(can, target), can.onimport.layout(can) },
cli.CLEAR, function(event) { can.onmotion.clear(can, ui.output) },
cli.SHOW, function(event) { can.onaction["展示"](event, can) },
"加载", function(event) { can.onaction["加载"](event, can), can.user.ToastSuccess(can) },
"加载", function(event) { can.onaction["加载"](event, can), can.user.toastSuccess(can) },
mdb.PLUGIN, function(event) {
can.user.input(event, can, [ctx.INDEX], function(event, button, data) {
can.onimport.plugin(can, data, ui.output)
@ -144,7 +144,6 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
sub.page.style(sub, sub._output, html.MAX_HEIGHT, sub.ConfHeight())
sub.page.style(sub, sub._output, html.MAX_WIDTH, sub.ConfWidth())
sub.select = function() { return sub._legend.click(), sub }
sub.onappend._option(sub, [{type: html.BUTTON, name: "close"}])
can._status.appendChild(sub._legend), sub._legend.onclick = function(event) {
if (can.page.Select(can, can._status, ice.PT+html.SELECT)[0] == event.target) {
@ -156,19 +155,22 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
can.onmotion.select(can, can.ui.toolkit.output, html.FIELDSET, sub._target)
can.onmotion.focus(can, can.page.Select(can, sub._option, html.OPTION_ARGS)[0])
}, can.base.isFunc(cb) && cb(sub)
can.core.Timer(100, function() { can.onappend._option(sub, {inputs: [{type: html.BUTTON, name: cli.CLOSE, _cb: function() {
sub._legend.click()
}}]}) })
})
},
process: function(can, msg, target, width) {
can.user.toastSuccess(can)
can.onmotion.clear(can, target)
if (msg.Option("_process") == "_field") {
msg.Table(function(meta) { meta.display = msg.Option("_display")
if (msg.Option(ice.MSG_PROCESS) == "_field") {
msg.Table(function(meta) { meta.display = msg.Option(ice.MSG_DISPLAY)
can.onimport.plugin(can, meta, target, function(sub) { width && sub.ConfWidth(width)
can.onmotion.focus(can, can.page.Select(can, sub._option, html.OPTION_ARGS)[0])
})
})
} else if (msg.Option("_display") != "") {
can.onappend._output(can, msg, msg.Option("_display"), target, false)
} else if (msg.Option(ice.MSG_DISPLAY) != "") {
can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY), target, false)
} else {
can.onappend.table(can, msg, null, target)
can.onappend.board(can, msg, target)
@ -339,7 +341,7 @@ Volcanos("onkeymap", {help: "导入数据", _init: function(can, msg, cb, target
Volcanos("onaction", {help: "控件交互", list: ["搜索", "打开", "添加", "插件", "扩展"],
_trans: {width: "宽度", height: "高度", website: "网页"},
"加载": function(event, can) {
var file = "/require/shylinux.com/x/contexts/"+can.Option(nfs.PATH)+can.Option(nfs.FILE)
var file = can.base.Path("/require/", can.Option(nfs.PATH), can.Option(nfs.FILE))
delete(Volcanos.meta.cache[file]), eval(`\n_can_name = "`+file+`"\n`+can.onexport.content(can)+`\n_can_name = ""\nconsole.log("once")`)
},
"刷新": function(event, can) { can.onimport.tabview(can, "src/", "main.go", "", function() {}, skip) },

View File

@ -126,7 +126,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: [],
},
}, _engine: {},
})
Volcanos("onaction", {help: "控件交互", list: [nfs.SAVE, code.AUTOGEN, code.COMPILE, chat.WEBSITE],
Volcanos("onaction", {help: "控件交互", list: [nfs.SAVE, code.AUTOGEN, code.COMPILE, "script", chat.WEBSITE],
save: function(event, can) { var msg = can.request(event, {content: can.onexport.content(can)})
can.run(event, [ctx.ACTION, nfs.SAVE, can.parse, can.Option(nfs.FILE), can.Option(nfs.PATH)], function(msg) {
can.onimport.project(can, can.Option(nfs.PATH))
@ -150,6 +150,15 @@ Volcanos("onaction", {help: "控件交互", list: [nfs.SAVE, code.AUTOGEN, code.
}
}, true)
},
script: function(event, can, button) { var meta = can.Conf()
can.request(event, {_handle: ice.TRUE, text: `Volcanos("onimport", {help: "导入数据"})`})
can.user.input(event, can, meta.feature[button], function(ev, btn, data, list, args) {
can.run(event, [ctx.ACTION, button].concat(args), function(msg) {
can.onimport.tabview(can, can.Option(nfs.PATH), msg.Option(nfs.FILE))
can.onimport.project(can, can.Option(nfs.PATH))
}, true)
})
},
website: function(event, can, button) { can.request(event, {action: button})
can.user.input(event, can, [{name: nfs.FILE, value: "hi.txt"}], function(ev, btn, data, list, args) {
can.onimport.tabview(can, "src/", "website/"+list[0], "", function() {}, true)