From ac0cc20e3a03ca2318c445d72a0095350cc510cd Mon Sep 17 00:00:00 2001 From: harveyshao Date: Mon, 1 Aug 2022 18:09:47 +0800 Subject: [PATCH] opt base --- panel/header.js | 2 +- panel/search.js | 8 +++++--- plugin/story/spide.js | 4 ++-- proto.js | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/panel/header.js b/panel/header.js index 44d1d497..6a6314d1 100644 --- a/panel/header.js +++ b/panel/header.js @@ -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() { diff --git a/panel/search.js b/panel/search.js index 504f7fd2..84414cb8 100644 --- a/panel/search.js +++ b/panel/search.js @@ -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() }, diff --git a/plugin/story/spide.js b/plugin/story/spide.js index bed1ecfd..a3108170 100644 --- a/plugin/story/spide.js +++ b/plugin/story/spide.js @@ -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) diff --git a/proto.js b/proto.js index 51cab926..814a0ef5 100644 --- a/proto.js +++ b/proto.js @@ -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)