1
0
forked from x/volcanos
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-01-19 20:33:09 +08:00
parent 0217e10c5f
commit 53031524db
2 changed files with 4 additions and 33 deletions

View File

@ -141,10 +141,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}), meta.inputs && sub.onappend._option(sub, meta, sub._option, meta.msg) }), meta.inputs && sub.onappend._option(sub, meta, sub._option, meta.msg)
sub._legend && (sub._legend.onclick = function(event) { sub._legend && (sub._legend.onclick = function(event) {
can.user.carte(event, sub, sub.onaction, sub.onaction.list.concat([[ctx.ACTION].concat(can.core.Item(meta.feature._trans))]), function(event, button) { can.misc.Event(event, sub, function(msg) { can.user.carte(event, sub, sub.onaction, sub.onaction.list.concat([[ctx.ACTION].concat(can.core.Item(meta.feature._trans))]), function(event, button) { can.misc.Event(event, sub, function(msg) {
can.misc.Inputs(sub, msg, [ctx.ACTION, button], null, meta) || can.misc.Inputs(sub, msg, [ctx.ACTION, button], null, meta) || msg.RunAction(event, sub.sub, [ctx.ACTION, button]) || msg.RunAction(event, sub, [ctx.ACTION, button]) || sub.runAction(event, button, [], function(msg) { can.onappend._output(sub, msg) })
msg.RunAction(event, sub.sub, [ctx.ACTION, button]) ||
msg.RunAction(event, sub, [ctx.ACTION, button]) ||
sub.runAction(event, button, [], function(msg) { can.onappend._output(sub, msg) })
}) }) }) })
}), can.base.isFunc(cb) && cb(sub) }), can.base.isFunc(cb) && cb(sub)
if (sub.isOutputStyle()) { return } if (can.user.isMobile && !can.user.isLandscape()) { return } if (sub.isOutputStyle()) { return } if (can.user.isMobile && !can.user.isLandscape()) { return }
@ -157,7 +154,6 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
var icon = { var icon = {
"": {name: mdb.DELETE, cb: function(event) { can.onaction.close(event, can) }}, "": {name: mdb.DELETE, cb: function(event) { can.onaction.close(event, can) }},
run: {name: web.PLAY, cb: function(event) { can.Update(event) }}, run: {name: web.PLAY, cb: function(event) { can.Update(event) }},
// refresh: {name: web.REFRESH, cb: function(event) { can.Update(event) }},
list: {name: web.REFRESH, cb: function(event) { can.Update(event) }}, list: {name: web.REFRESH, cb: function(event) { can.Update(event) }},
back: {name: "goback", cb: function(event) { can.onimport.back(event, can) }}, back: {name: "goback", cb: function(event) { can.onimport.back(event, can) }},
prev: {name: mdb.PREV, cb: function(event) { var sub = can.sub; sub.onaction && sub.onaction.prev? sub.onaction.prev(event, sub): can.onaction.prev(event, can) }}, prev: {name: mdb.PREV, cb: function(event) { var sub = can.sub; sub.onaction && sub.onaction.prev? sub.onaction.prev(event, sub): can.onaction.prev(event, can) }},
@ -198,10 +194,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
skip || can.Conf(ice.AUTO) == cli.DELAY || can.Update({}, [ctx.ACTION, p]) skip || can.Conf(ice.AUTO) == cli.DELAY || can.Update({}, [ctx.ACTION, p])
} else { } else {
skip || can.Conf(ice.AUTO) == cli.DELAY || auto && auto.click() skip || can.Conf(ice.AUTO) == cli.DELAY || auto && auto.click()
} } if (meta.inputs.length == 0) { return } var _can = can._fields? can.sup: can; if (!can.page.tagis(_can._target, html.FIELDSET_PLUGIN)) { return }
if (meta.inputs.length == 0) { return }
var _can = can._fields? can.sup: can
if (!can.page.tagis(_can._target, html.FIELDSET_PLUGIN)) { return }
can.user.isMobile || meta._help && add({type: html.BUTTON, name: ice.HELP, onclick: function(event) { can.onappend._float(can, {index: web.WIKI_WORD}, [meta._help]) }}, function() {}) can.user.isMobile || meta._help && add({type: html.BUTTON, name: ice.HELP, onclick: function(event) { can.onappend._float(can, {index: web.WIKI_WORD}, [meta._help]) }}, function() {})
!can.Conf("_fileline") || can.base.isIn(can.ConfIndex(), web.CODE_VIMER) || can.user.isMobile || can.misc.Search(can, ice.MSG_DEBUG) == ice.TRUE && add({type: html.BUTTON, name: "vimer", _trans: "源码", onclick: function(event) { !can.Conf("_fileline") || can.base.isIn(can.ConfIndex(), web.CODE_VIMER) || can.user.isMobile || can.misc.Search(can, ice.MSG_DEBUG) == ice.TRUE && add({type: html.BUTTON, name: "vimer", _trans: "源码", onclick: function(event) {
var value = "查看源码"; _can.onaction[value](event, _can, value, _can.sub) var value = "查看源码"; _can.onaction[value](event, _can, value, _can.sub)

View File

@ -3,8 +3,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { can.page.requireModules
var item = can.base.Obj(msg.TableDetail(), {hash: "only"}); item.hash = item.hash||can.Option(mdb.HASH), can.onmotion.clear(can) var item = can.base.Obj(msg.TableDetail(), {hash: "only"}); item.hash = item.hash||can.Option(mdb.HASH), can.onmotion.clear(can)
if (item.type == html.LAYOUT) { can.onimport._layout(can, item) } else { can.onimport._connect(can, item, can._output) } can.onimport.layout(can) if (item.type == html.LAYOUT) { can.onimport._layout(can, item) } else { can.onimport._connect(can, item, can._output) } can.onimport.layout(can)
can.sup.onexport.link = function() { return can.misc.MergePodCmd(can, {pod: can.Conf(ice.POD), cmd: web.CODE_XTERM, hash: item.hash}) } can.sup.onexport.link = function() { return can.misc.MergePodCmd(can, {pod: can.Conf(ice.POD), cmd: web.CODE_XTERM, hash: item.hash}) }
can.sup.onexport.title(can, item.name||item.type) can.sup.onexport.title(can, item.name||item.type), can.base.isFunc(cb) && cb(msg), can.onappend._status(can), can.onkeymap._build(can)
can.base.isFunc(cb) && cb(msg), can.onappend._status(can), can.onkeymap._build(can)
}) }, }) },
_layout: function(can, item) { _layout: function(can, item) {
function connect(item, output, tabs) { can.run(can.request({}, item), [item.hash], function(msg) { function connect(item, output, tabs) { can.run(can.request({}, item), [item.hash], function(msg) {
@ -53,19 +52,12 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { can.page.requireModules
can.onmotion.clear(can, output), term.open(output), term.focus() can.onmotion.clear(can, output), term.open(output), term.focus()
can.onengine.listen(can, chat.ONTHEMECHANGE, function() { can.onengine.listen(can, chat.ONTHEMECHANGE, function() {
term.selectAll(), can.onimport._connect(can, item, output, tabs, can.base.trimSuffix(term.getSelection(), lex.NL)) term.selectAll(), can.onimport._connect(can, item, output, tabs, can.base.trimSuffix(term.getSelection(), lex.NL))
}), can.onimport._recover(can, item, term, text) })
can.page.style(can, output, html.BACKGROUND_COLOR, term._publicOptions.theme.background||cli.BLACK) can.page.style(can, output, html.BACKGROUND_COLOR, term._publicOptions.theme.background||cli.BLACK)
output.onclick = function() { output._tabs._current = output, term.focus(), can.onexport.term(can, term) output.onclick = function() { output._tabs._current = output, term.focus(), can.onexport.term(can, term)
can.page.Select(can, can._fields, html.DIV_OUTPUT, function(target) { can.page.ClassList.set(can, target, html.SELECT, target == output) }) can.page.Select(can, can._fields, html.DIV_OUTPUT, function(target) { can.page.ClassList.set(can, target, html.SELECT, target == output) })
}; return can.db = can.db||{}, can.db[item.hash] = term }; return can.db = can.db||{}, can.db[item.hash] = term
}, },
_recover: function(can, item, term, text) {
// var recover = can.onexport.session(can, RECOVER_STORE+item.hash)
var recover = ""
if (recover) { can.onexport.session(can, RECOVER_STORE+item.hash, ""), can.onmotion.delay(can, function() { term.write(recover.replaceAll(lex.NL, "\r\n")) }) }
can.onengine.listen(can, chat.ONUNLOAD, function(msg) { term.selectAll(), can.onexport.session(can, RECOVER_STORE+item.hash, can.base.trimSuffix(term.getSelection(), lex.NL)+lex.NL) })
text && can.onmotion.delay(can, function() { term.write(text.replaceAll(lex.NL, "\r\n")) })
},
_resize: function(can, term, size) { can.runAction(can.request({}, size, term._item), web.RESIZE, [], function(msg) { _resize: function(can, term, size) { can.runAction(can.request({}, size, term._item), web.RESIZE, [], function(msg) {
if (msg.IsErr()) { can.misc.Warn(msg.Result()) } if (msg.IsErr()) { can.misc.Warn(msg.Result()) }
can.onexport.term(can, term) }) }, can.onexport.term(can, term) }) },
@ -73,20 +65,6 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { can.page.requireModules
can.runAction(can.request({}, {rows: term.rows, cols: term.cols}, term._item), html.INPUT, [btoa(data)], function(msg) { can.runAction(can.request({}, {rows: term.rows, cols: term.cols}, term._item), html.INPUT, [btoa(data)], function(msg) {
if (msg.IsErr()) { can.misc.Warn(msg.Result()) } if (msg.IsErr()) { can.misc.Warn(msg.Result()) }
}), can._output = term._output }), can._output = term._output
return
if (data == "\u0013") { can._delay = true
can.onmotion.delay(can, function() { can._delay && can.runAction(can.request({}, term._item), html.INPUT, [btoa(data)], function(msg) {
if (msg.IsErr()) { can.misc.Warn(msg.Result()) }
}) })
} else {
if (can._delay) { can._delay = false; var msg = can.request({}, {_handle: ice.TRUE}, term._item)
can._keylist = can.onkeymap._parse({key: data, _msg: msg}, can, mdb.NORMAL, can._keylist||[], term); return
}
can.runAction(can.request({}, {rows: term.rows, cols: term.cols}, term._item), html.INPUT, [btoa(data)], function(msg) {
if (msg.IsErr()) { can.misc.Warn(msg.Result()) }
}), can._output = term._output
}
}, },
grow: function(can, msg, hash, text) { grow: function(can, msg, hash, text) {
var arg = msg.detail.slice(1); arg = [hash||arg[0], text||arg[1]] var arg = msg.detail.slice(1); arg = [hash||arg[0], text||arg[1]]