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-08-01 18:09:47 +08:00
parent bd57313ac3
commit ac0cc20e3a
4 changed files with 9 additions and 7 deletions

View File

@ -41,7 +41,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
_search: function(can, msg, target) {
var ui = can.onappend.input(can, {type: html.TEXT, name: mdb.SEARCH, onkeydown: function(event) {
can.onkeymap.input(event, can); switch (event.key) {
case lang.ENTER: can.onengine.signal(can, chat.ONOPENSEARCH, can.request(event, {type: mdb.FOREACH, word: event.target.value}))
case lang.ENTER: can.onengine.signal(can, chat.ONOPENSEARCH, can.request(event, {type: "command,space,text"||mdb.FOREACH, word: event.target.value}))
}
}}, "", target, "title search")
can.onimport.menu(can, mdb.SEARCH, function() {

View File

@ -1,8 +1,10 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, list, cb, target) {
can._foreach = "*"
can._foreach = "command,space,text"
can.list = msg.Table(), can.onmotion.clear(can, can.ui.content)
var table = can.onappend.table(can, msg, function(value, key, index, line, array) { can.Status(mdb.TOTAL, index+1)
return {text: [key == mdb.TEXT && can.base.isFunc(line.text) && line.text.help || value, html.TD], onclick: function(event) {
can.onaction[can.type == mdb.FOREACH||event.ctrlKey? chat.PLUGIN: mdb.SELECT](event, can, index)
can.onaction[can.type == can._foreach||event.ctrlKey? chat.PLUGIN: mdb.SELECT](event, can, index)
}}
}, can.ui.content, can.core.List((msg.Option("sort")||"ctx,cmd,type,name,text").split(ice.FS), function(item) {
return list.indexOf(item)
@ -77,7 +79,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [cli.CLOSE, cli.CLEAR, cli.
if (event.key == lang.ENTER) { can.onkeymap.prevent(event)
if (event.shiftKey) { var first = can.page.Select(can, can.ui.content, html.TR)[1]
return can.onaction[can.type == mdb.FOREACH? chat.PLUGIN: html.SELECT](event, can, first.dataset.index)
return can.onaction[can.type == can._foreach? chat.PLUGIN: html.SELECT](event, can, first.dataset.index)
}
if (event.ctrlKey) { return can.onaction[cli.DONE](event, can) }
return can.input(event, event.target.value)
@ -91,7 +93,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [cli.CLOSE, cli.CLEAR, cli.
chat.CONTENT, html.STATUS, {view: [chat.DISPLAY, html.TABLE]}, chat.PROFILE,
]), can.page.ClassList.add(can, can.ui.display, chat.CONTENT)
},
onopensearch: function(can, msg, type, word) { can.onimport.select(can, msg, [type||mdb.FOREACH, word||""]) },
onopensearch: function(can, msg, type, word) { can.onimport.select(can, msg, [type||can._foreach, word||""]) },
clear: function(event, can) { can.onmotion.clear(can, can.ui.profile) },
done: function(event, can) { can.base.isFunc(can.cb) && can.cb() },

View File

@ -136,7 +136,7 @@ Volcanos(chat.ONDETAIL, {help: "用户交互",
can.run(can.request(event, can.Option()), can.base.Obj(can.Conf(lex.PREFIX), []).concat([can.Option("repos")||"", tree.file||"", tree.name]), function(msg) {
if (msg.Length() == 0) { return can.ondetail.plugin(can, "web.code.inner", [can.dir_root, tree.file, tree.line], code.INNER) }
if (msg.Append(mdb.INDEX)) { msg.Table(function(value) { can.ondetail.plugin(can, value.index, [], value.index) }); return }
if (msg.Append(mdb.INDEX)) { msg.Table(function(value) { can.ondetail.plugin(can, value.index, []) }); return }
if (msg.Option(lex.SPLIT)) {
tree.list = can.onimport._tree(can, msg.Table(), msg.Option(mdb.FIELD)||msg.append[0], msg.Option(lex.SPLIT))[""].list||[]
@ -153,7 +153,7 @@ Volcanos(chat.ONDETAIL, {help: "用户交互",
},
plugin: function(can, index, args, prefix) {
can.onappend.plugin(can, {type: chat.FLOAT, index: index, args: args, mode: "float"}, function(sub) {
sub.run = function(event, cmds, cb) { can.runAction(can.request(event), prefix, cmds, cb) }
sub.run = function(event, cmds, cb) { can.runAction(can.request(event), prefix||[ice.RUN, index], cmds, cb) }
sub.Mode("float"), can.getActionSize(function(left, top, width, height) { left = left||0
var top = can.Mode() == undefined? 120: 0; if (can.user.isMobile) { top = can.user.isLandscape()? 0: 48 }
sub.ConfHeight(height-top-2*html.ACTION_HEIGHT-(can.user.isMobile&&!can.user.isLandscape()? 2*html.ACTION_HEIGHT: 0)), sub.ConfWidth(width)

View File

@ -366,7 +366,7 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", pack:
actions: function(event, button) { can.runAction(event, button, []) },
runActionCommand: function(event, index, args, cb) { can.runAction(event, ice.RUN, can.misc.concat(can, [index], args), cb) },
runAction: function(event, action, args, cb) { can.request(event, {_handle: ice.TRUE}, can.Option())
can.run(event, can.misc.concat(can, [ctx.ACTION, action], args), cb||function(msg) {
can.run(event, can.misc.concat(can, [ctx.ACTION].concat(action), args), cb||function(msg) {
if (can.core.CallFunc([can, chat.ONIMPORT, ice.MSG_PROCESS], {can: can, msg: msg})) { return }
if (can.core.CallFunc([can.sup, chat.ONIMPORT, ice.MSG_PROCESS], {can: can.sup, msg: msg})) { return }
can.user.toastSuccess(can, action)