From 3e3e3d6e0a392383c5a909ae1f9bbdbd292a6b68 Mon Sep 17 00:00:00 2001 From: shylinux Date: Tue, 11 Jan 2022 14:57:11 +0800 Subject: [PATCH] opt some --- frame.js | 13 ++++++------- manifest.json | 9 ++++----- plugin/input/key.js | 6 ++++-- publish/chrome/chrome.html | 2 +- publish/chrome/popup.html | 6 ++---- 5 files changed, 17 insertions(+), 19 deletions(-) diff --git a/frame.js b/frame.js index d262daa0..47424cc1 100644 --- a/frame.js +++ b/frame.js @@ -4,7 +4,6 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, return (can.onengine[cmds[0]]||can.onengine._remote)(event, can, msg, can, cmds, cb) } if (can.user.isExtension) { Volcanos.meta.args = JSON.parse(localStorage.getItem(ctx.ARGS))||{} } - can.core.Next(list, function(item, next) { item.type = chat.PANEL can.onappend._init(can, item, item.list, function(panel) { panel.run = function(event, cmds, cb) { var msg = panel.request(event); cmds = cmds||[] @@ -20,7 +19,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, can.onlayout.topic(can), can.onmotion._init(can, target), can.onkeypop._init(can) can.ondaemon._init(can), can.onengine.signal(can, chat.ONMAIN, can.request()) can.base.isFunc(cb) && cb() - }) + }), can.onmotion.float.auto(can, document.body) }, _search: function(event, can, msg, panel, cmds, cb) { var sub, mod = can, fun = can, key = ""; can.core.List(cmds[1].split(ice.PT), function(value) { @@ -189,7 +188,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }; can.core.Next(can.base.Obj(meta.inputs, can.core.Value(can, "onimport.list")).concat(meta.type == chat.FLOAT? [{type: html.BUTTON, name: cli.CLOSE}]: []), add) }, _action: function(can, list, action, meta) { meta = meta||can.onaction, action = action||can._action, can.onmotion.clear(can, action) - can.core.List(can.base.Obj(list, can.core.Value(can, "onaction.list")), function(item) { can.onappend.input(can, item == ""? /*空白*/ {type: html.SPACE}: + can.core.List(can.base.Obj(list, can.core.Value(can, "onaction.list")), function(item) { if (!item) { return } can.onappend.input(can, item == ""? /*空白*/ {type: html.SPACE}: can.base.isString(item)? /*按键*/ {type: html.BUTTON, value: can.user.trans(can, item), onclick: function(event) { var cb = meta[item]||meta["_engine"] cb? can.core.CallFunc(cb, {event: event, can: can, button: item}): can.run(event, [ctx.ACTION, item].concat(can.sup.Input())) @@ -372,7 +371,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }, figure: function(can, meta, target, cbs) { if ([html.BUTTON, html.SELECT].indexOf(meta.type) > -1) { return } var input = meta.action||mdb.KEY; input != ice.AUTO && can.require(["/plugin/input/"+input+".js"], function(can) { - can.core.ItemCB(can.onfigure[input], function(key, on) { target[key] = function(event) { on(event, can, meta, function(cb) { + can.core.ItemCB(can.onfigure[input], function(key, on) { var last = target[key]; target[key] = function(event) { on(event, can, meta, function(cb) { can.sub? can.base.isFunc(cb) && cb(can.sub, cbs): can.onappend._init(can, {type: html.INPUT, name: input, pos: chat.FLOAT}, ["/plugin/input/"+input+".js"], function(sub) { sub.Conf(meta) sub.run = function(event, cmds, cb) { var msg = sub.request(event, can.Option()); (meta.run||can.run)(event, cmds, cb, true) @@ -387,7 +386,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, meta.style && sub.page.Modify(sub, sub._target, {style: meta.style}) can.base.isFunc(cb) && cb(sub, cbs) }, document.body) - }, target) } }) + }, target, last) } }) }) }, float: function(can, msg, cb) { @@ -637,13 +636,13 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe width: target.offsetWidth > 400? 400: target.offsetWidth-20, height: target.offsetHeight < 60? 60: target.offsetHeight-20, }, onkeydown: function(event) { switch (event.key) { - case html.ENTER: + case lang.ENTER: if (event.ctrlKey) { target.innerHTML = event.target.value event.target.value == back || cb(event, event.target.value, back) } break - case html.ESCAPE: target.innerHTML = back; break + case lang.ESCAPE: target.innerHTML = back; break default: can.onkeypop.input(event, can) } }, _init: function(target) { diff --git a/manifest.json b/manifest.json index 966a80ee..62b66e9b 100644 --- a/manifest.json +++ b/manifest.json @@ -4,11 +4,10 @@ "background": {"page": "/publish/chrome/chrome.html"}, "browser_action": {"default_popup": "/publish/chrome/popup.html"}, "content_scripts": [{"matches": [""], "css": [ - "/page/cache.css", "/publish/chrome/contexts.css" - ], - "js": ["/proto.js", "/publish/chrome/contexts.js", "/page/cache.js", "/frame.js"]} - ], - "permissions": [ + "/page/can.css", "/publish/chrome/contexts.css" + ], "js": [ + "/page/can.js", "/publish/chrome/contexts.js" + ]}], "permissions": [ "tabs", "history", "cookies", diff --git a/plugin/input/key.js b/plugin/input/key.js index e58b87e8..35344721 100644 --- a/plugin/input/key.js +++ b/plugin/input/key.js @@ -39,7 +39,7 @@ Volcanos("onfigure", {help: "控件详情", list: [], key: { can.base.isFunc(cbs) && cbs(can) }) }) }, - onkeydown: function(event, can, meta, cb, target) { + onkeydown: function(event, can, meta, cb, target, last) { var msg = target._msg; msg && cb(function(can, cbs) { if (event.ctrlKey) { can.onfigure.key._select(event, can, target) } else { target._index = 0, target._value = "" @@ -61,7 +61,9 @@ Volcanos("onfigure", {help: "控件详情", list: [], key: { if (event.ctrlKey && ["n", "p"].indexOf(event.key) > -1) { return event.stopPropagation(), event.preventDefault() - } can.onaction.onkeydown(event, can) + } + last(event, can) + // can.onaction && can.onaction.onkeydown && can.onaction.onkeydown(event, can) }, }}) diff --git a/publish/chrome/chrome.html b/publish/chrome/chrome.html index e7089c5e..6650eb04 100644 --- a/publish/chrome/chrome.html +++ b/publish/chrome/chrome.html @@ -2,7 +2,7 @@ - + diff --git a/publish/chrome/popup.html b/publish/chrome/popup.html index 43c4ab2b..8fa22600 100644 --- a/publish/chrome/popup.html +++ b/publish/chrome/popup.html @@ -1,11 +1,9 @@ - - + - - +