From f5774929c466ee276c3d9b10b6ab8bb28a8838d0 Mon Sep 17 00:00:00 2001 From: shylinux Date: Fri, 14 Jan 2022 09:25:16 +0800 Subject: [PATCH] opt inner.js --- frame.js | 41 +++++++++++- lib/misc.js | 11 ++- page/index.css | 1 + panel/action.js | 4 +- panel/footer.js | 2 +- panel/search.js | 2 +- plugin/local/chat/div.js | 2 +- plugin/local/chat/trans.js | 2 +- plugin/local/code/inner.css | 22 ++++++ plugin/local/code/inner.js | 126 ++++++++++++++++++++--------------- plugin/local/code/snippet.js | 2 +- plugin/local/team/plan.js | 2 +- plugin/local/wiki/draw.js | 2 +- plugin/local/wiki/word.js | 2 +- plugin/story/spide.js | 2 +- proto.js | 1 + publish/chrome/contexts.js | 4 +- 17 files changed, 159 insertions(+), 69 deletions(-) diff --git a/frame.js b/frame.js index 750e0200..7b71374e 100644 --- a/frame.js +++ b/frame.js @@ -35,8 +35,16 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, }, mod) }, _engine: function(event, can, msg, panel, cmds, cb) { return false }, + _plugin: function(event, can, msg, panel, cmds, cb) { + if (cmds[0] == ctx.ACTION && cmds[1] == ice.RUN && can.onengine.plugin.meta[cmds[2]]) { + can.core.CallFunc(can.onengine.plugin.meta[cmds[2]], {msg: msg, cmds: cmds.slice(3), cb: cb}) + return true + } + return false + }, _remote: function(event, can, msg, panel, cmds, cb) { if (panel.onengine._engine(event, can, msg, panel, cmds, cb)) { return } + if (panel.onengine._plugin(event, can, msg, panel, cmds, cb)) { return } can.onengine.signal(can, chat.ONREMOTE, can.request({}, {_follow: panel._follow, _msg: msg, _cmds: cmds})) var key = can.core.Keys(panel._name, cmds.join(ice.FS)) @@ -250,6 +258,35 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }) }, + tabs: function(can, list, cb, cbs, action) { action = action||can._action + return can.page.Append(can, action, can.core.List(list, function(meta) { + return {text: [meta.name, html.DIV, chat.TABS], title: meta.text, onclick: function(event) { + can.base.isFunc(cb) && cb(event, meta) + }, _init: function(item) { const OVER = "over" + function close(item) { var next = item.nextSibling || item.previousSibling + item._close(item) || can.page.Remove(can, item), next && next.click() + } + can.page.Modify(can, item, {draggable: true, _close: cbs, + oncontextmenu: function(event) { + can.user.carte(event, can, kit.Dict( + cli.CLOSE, function(event) { close(item) }, + "close other", function(event) { + can.page.Select(can, action, chat.DIV_TABS, function(_item) { + _item == item || close(_item) + }) + }, + "close all", function(event) { can.page.Select(can, action, chat.DIV_TABS, close) }, + ), [cli.CLOSE, "close other", "close all"]) + }, + ondragstart: function(event) { var target = event.target; target.click() + action._drop = function(event, before) { action.insertBefore(target, before) } + }, + ondragover: function(event) { event.preventDefault(), action._drop(event, event.target) }, + ondrop: function(event) { event.preventDefault(), action._drop(event, event.target) }, + }) + }} + })).first + }, list: function(can, root, cb, target) { target = target||can._output can.core.List(root.list, function(item) { var ui = can.page.Append(can, target, [{view: [html.ITEM, html.DIV, item.meta.name], onclick: function(event) { @@ -306,7 +343,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, if (key == "extra.cmd") { can.onappend.plugin(can, {ctx: line["extra.ctx"], cmd: line["extra.cmd"], arg: line["extra.arg"]}, function(sub) { sub.run = function(event, cmds, cb) { var msg = can.request(event, line, can.Option()) - can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, can.core.Keys(line["extra.ctx"], line["extra.cmd"])], cmds), cb, true) + can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, can.core.Keys(line["extra.ctx"], line["extra.cmd"])], cmds), cb, true) } }, target) } @@ -353,7 +390,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, meta.type = meta.type||chat.PLUGIN can.onappend._init(can, meta, [chat.PLUGIN_STATE_JS], function(sub, skip) { - sub.run = function(event, cmds, cb) { can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, meta.index], cmds), cb) } + sub.run = function(event, cmds, cb) { can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, meta.index], cmds), cb) } can.base.isFunc(cb) && cb(sub, meta, skip) }, target||can._output) }, diff --git a/lib/misc.js b/lib/misc.js index 342a1e7e..d990d3ae 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -2,7 +2,7 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg var proto = {_event: event, _can: can, RunAction: function(event, sub, cmds) { var msg = can.request(event) if (msg.Option(ice.MSG_HANDLE) == ice.TRUE) { return } - if (cmds && cmds[0] == ctx.ACTION && sub && sub.onaction[cmds[1]]) { + if (cmds && cmds[0] == ctx.ACTION && sub && can.base.isFunc(sub.onaction[cmds[1]])) { return msg.Option(ice.MSG_HANDLE, ice.TRUE), can.core.CallFunc(sub.onaction[cmds[1]], {event: event, can: sub, msg: msg, button: cmds[1], cmd: cmds[1]}), true } return false @@ -227,7 +227,14 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg return can.base.MergeURL(location.origin+path+(clear?"":location.search), objs) }), - concat: function(to, from) { to = to||[], from = from||[] + runAction: function(can, msg, cmds, cb, list) { + if (cmds[0] == ctx.ACTION && list[cmds[1]]) { return list[cmds[1]](cmds.slice(2)) } + if (list[cmds[0]]) { return list[cmds[0]](cmds.slice(1)) } + }, + concat: function(can, to, from) { to = to||[], from = from||[] + if (from[0] == ctx.ACTION && from[1] == ice.RUN && can.onengine.plugin.meta[from[2]]) { + return from + } if (from[0] == "_search") { return from } return to.concat(from) }, diff --git a/page/index.css b/page/index.css index 088d47d3..7c6d4699 100644 --- a/page/index.css +++ b/page/index.css @@ -290,6 +290,7 @@ fieldset>div.action>div.tabs:hover { } fieldset>div.action>div.tabs.over { background-color:blue; + color:blue; } fieldset>div.action>div.tabs.select { border-bottom:solid 2px red; diff --git a/panel/action.js b/panel/action.js index 77651ade..4fbec2db 100644 --- a/panel/action.js +++ b/panel/action.js @@ -15,8 +15,8 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg) }, _plugin: function(can, river, storm, sub, meta) { sub._target._meta = meta sub.run = function(event, cmds, cb) { var msg = sub.request(event) - return can.run(event, can.misc.concat([river, storm, meta.id||meta.index], cmds), cb) - }, can._plugins = can.misc.concat(can._plugins, [sub]) + return can.run(event, can.misc.concat(can, [river, storm, meta.id||meta.index], cmds), cb) + }, can._plugins = can.misc.concat(can, can._plugins, [sub]) meta.id && (sub._option.dataset = sub._option.dataset||{}, sub._option.dataset.id = meta.id) diff --git a/panel/footer.js b/panel/footer.js index 39b5180e..b5fcb1c4 100644 --- a/panel/footer.js +++ b/panel/footer.js @@ -78,7 +78,7 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, cb, t can.get("Action", "size", function(msg, top, left, width, height) { can.onappend.plugin(can, {index: cmds[0], args: cmds.slice(1), height: height-100, width: width}, function(sub) { sub.run = function(event, cmd, cb) { - can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, cmds[0]], cmd), cb) + can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, cmds[0]], cmd), cb) } can.page.Modify(can, sub._target, {style: {top: top+100, left: left}}) diff --git a/panel/search.js b/panel/search.js index 5fb1ea9a..69924563 100644 --- a/panel/search.js +++ b/panel/search.js @@ -102,7 +102,7 @@ Volcanos("onaction", {help: "交互操作", list: [cli.CLEAR, cli.CLOSE, cli.DON }) sub.run = function(event, cmds, cb) { var msg = can.request(event, line) - can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, meta.index], cmds), cb, true) + can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, meta.index], cmds), cb, true) } }, can.ui.profile) }, diff --git a/plugin/local/chat/div.js b/plugin/local/chat/div.js index 9d64287b..8d69dd47 100644 --- a/plugin/local/chat/div.js +++ b/plugin/local/chat/div.js @@ -69,7 +69,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, }, size), ["/plugin/state.js"], function(sub) { can.page.Modify(can, sub._output, {style: size}) sub.run = function(event, cmds, cb) { - can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, meta.index], cmds), cb, true) + can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, meta.index], cmds), cb, true) } }, target, field) }, true) diff --git a/plugin/local/chat/trans.js b/plugin/local/chat/trans.js index 16123535..cd916f8f 100644 --- a/plugin/local/chat/trans.js +++ b/plugin/local/chat/trans.js @@ -16,7 +16,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, if (can.onaction[cmds[1]]) { return can.onaction[cmds[1]](can, from, to, event, cmds, cb) } var msg = sub.request(event, {_pod: can.Option(from)}) - can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, index], cmds), cb, true) + can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, index], cmds), cb, true) } }) }, diff --git a/plugin/local/code/inner.css b/plugin/local/code/inner.css index dc7b2ffe..8e9f940e 100644 --- a/plugin/local/code/inner.css +++ b/plugin/local/code/inner.css @@ -64,6 +64,28 @@ fieldset.inner>div.output div.content td.text span.string { color:magenta; } +fieldset.inner>div.output>fieldset.toolkit>div.status>div.legend { + float:left; padding:4px; cursor:pointer; +} +fieldset.inner>div.output>fieldset.toolkit>div.status>div.legend.select { + background:green; +} +fieldset.inner>div.output>fieldset.toolkit>div.status>div.legend:hover { + background:green; +} +fieldset.inner>div.output>fieldset.toolkit>div.output>fieldset { + display:none; margin:0;padding:0; +} +fieldset.inner>div.output>fieldset.toolkit>div.output>fieldset>legend { + display:none; +} +fieldset.inner>div.output>fieldset.toolkit>div.output>fieldset>div.output { + height:260px; +} +fieldset.inner>div.output>fieldset.toolkit>div.output>fieldset.select { + display:block; +} + fieldset.inner>div.output div.search { padding:6px; border:solid 1px red; position:absolute; diff --git a/plugin/local/code/inner.js b/plugin/local/code/inner.js index 1bb960c5..411a6f82 100644 --- a/plugin/local/code/inner.js +++ b/plugin/local/code/inner.js @@ -9,14 +9,18 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target can.tabview = can.tabview||{}, can.tabview[can.Option(nfs.PATH)+can.Option(nfs.FILE)] = msg can.history = can.history||[] - can.onimport.tabview(can, msg.Option(nfs.PATH), msg.Option(nfs.FILE), msg.Option(nfs.LINE)||1) - can.onimport.project(can, msg.Option(nfs.PATH)) - can.base.isFunc(cb) && cb(msg) + can.onimport.tabview(can, msg.Option(nfs.PATH), msg.Option(nfs.FILE), msg.Option(nfs.LINE)||1, function() { + can.onimport.project(can, msg.Option(nfs.PATH)) + can.base.isFunc(cb) && cb(msg) + }) }, _content: function(can, target) { var height = can.Conf(html.HEIGHT) + can.user.mod.isCmd && can.page.style(can, can._output, html.HEIGHT, can.Conf(html.HEIGHT)) can.page.style(can, can.ui.project, html.MAX_HEIGHT, height) can.page.style(can, can.ui.content, html.MAX_HEIGHT, height) can.page.style(can, can.ui.display, html.DISPLAY, html.NONE) + can.ui.toolkit = can.onappend.field(can, chat.STORY, {}, can._output) + can.page.ClassList.add(can, can.ui.toolkit.fieldset, "toolkit") }, _output: function(can, target) { var ui = can.page.Append(can, can.ui.display, [{view: html.ACTION}, {view: html.OUTPUT}]); can.ui.output = ui.output @@ -28,36 +32,74 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target )) }, _favor: function(can, target) { - can.onappend.plugin(can, {type: chat.STORY, index: "web.code.favor"}, function(sub) { + can.onimport.toolkit(can, {index: "web.code.git.spide", args: ["icebergs"]}) + can.onimport.toolkit(can, {index: "web.code.git.total", args: ["icebergs"]}) + can.onimport.toolkit(can, {index: "web.code.favor"}, function(sub) { sub.run = function(event, cmds, cb) { var msg = can.request(event) if (cmds && cmds[0] == ctx.ACTION) { switch (cmds[1]) { case code.INNER: can.onimport.tabview(can, msg.Option(nfs.PATH), msg.Option(nfs.FILE), msg.Option(nfs.LINE)); return } } + can.run(event, can.misc.concat(can, [ctx.ACTION, code.FAVOR], cmds), function(msg) { var sub = msg._can; + sub.onmotion.clear(sub), sub.onappend.table(sub, msg, function(value, key, index, line) { + if (msg.append.length == 2 && msg.append[0] == mdb.KEY && msg.append[1] == mdb.VALUE) { + if (key == mdb.VALUE) { key = line.key } + } + if (key != ctx.ACTION) { + value = sub.base.replaceAll(value, "<", "<", ">", ">", "./", "") + } + return {text: ["", html.TD], list: [{text: [value, html.DIV]}], onclick: function(event) { + if ([mdb.ZONE, mdb.ID].indexOf(key) > -1) { + return sub.onaction.change(event, sub, key, value) + } - can.run(event, can.misc.concat([ctx.ACTION, code.FAVOR], cmds), function(msg) { - can.base.isFunc(cb) && cb(msg), can.core.Timer(10, function() { - can.onappend._action(sub, [cli.CLOSE], sub._action, kit.Dict( - cli.CLOSE, function(event) { can.onmotion.hidden(sub, sub._target) }, - )) - }) + line.line && can.onimport.tabview(can, can.Option(nfs.PATH), line.file.replace("./", ""), parseInt(line.line), function() { + can.onaction.selectLine(can, line.line) + }) + }} + }, sub._output), sub.onappend._status(sub, msg.Option(ice.MSG_STATUS)), can.Status("标签数", msg.Length()) }, true) - }, can.ui.favor = sub, can.onmotion.hidden(sub, sub._target) - }, target) + } + }) }, _search: function(can, target) { - var ui = can.page.Append(can, target, [ - {view: mdb.SEARCH, style: {display: html.NONE}, list: [ - {view: chat.ACTION, list: [ - {input: ["word", function(event) { - event.key == lang.ENTER && can.onaction.searchLine(event, can, ui.word.value) - }], value: cli.MAIN, onfocus: function(event) { event.target.setSelectionRange(0, -1) }}, - {button: ["find", function(event) { can.onaction.searchLine(event, can, ui.word.value) }]}, - {button: [cli.BACK, function(event) { can.onaction[cli.BACK](event, can) }]}, - {button: [cli.CLOSE, function(event) { can.onaction["搜索"](event, can) }]}, - ]}, - {view: "tags", style: kit.Dict(html.MAX_HEIGHT, 160)}, - ]}, - ]); can.base.Copy(can.ui, ui, mdb.SEARCH, "word", "tags") + can.onengine.plugin(can, "code.inner.search", shy("搜索", {}, [ + {type: "text", name: "word", value: "main"}, + {type: "button", name: "find"}, + {type: "button", name: "back"}, + ], function(msg, cmds, cb) { can.misc.runAction(can, msg, cmds, cb, { + "find": function(cmds) { msg.Option(ice.MSG_HANDLE, ice.TRUE), msg.Option(ice.MSG_FIELDS, "file,line,text") + can.run(msg._event, [ctx.ACTION, mdb.SEARCH, can.parse, cmds[0], can.Option(nfs.PATH)], function(msg) { + var sub = msg._can; sub.onappend.table(sub, msg, function(value, key, index, line) { + value = can.base.replaceAll(value, "<", "<", ">", ">", "./", "") + return {text: ["", html.TD], list: [{text: [value, html.DIV]}], onclick: function(event) { + line.line && can.onimport.tabview(can, can.Option(nfs.PATH), line.file.replace("./", ""), parseInt(line.line), function() { + can.onaction.selectLine(can, line.line) + }) + }} + }, sub._output), sub.Status("标签数", msg.Length()) + }, true) + }, + }) })) + can.onimport.toolkit(can, {index: "can.code.inner.search"}) + }, + toolkit: function(can, meta, cb) { + can.onappend.plugin(can, meta, function(sub) { + sub.run = function(event, cmds, cb, silent) { + can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, meta.index], cmds), cb, true) + } + sub.page.style(sub, sub._output, html.MAX_WIDTH, can.Conf(html.WIDTH)) + can.ui.toolkit.status.appendChild(sub._legend) + sub._legend.onclick = function(event) { + if (can.page.ClassList.has(can, sub._target, html.SELECT)) { + can.page.ClassList.del(can, sub._target, html.SELECT) + return + } + can.onmotion.select(can, can.ui.toolkit.output, html.FIELDSET, sub._target) + can.onmotion.select(can, can.ui.toolkit.status, html.DIV_LEGEND, event.target) + } + sub._legend.ondblclick = sub._legend.onmouseenter, sub._legend.onmouseenter = function() {} + can.base.isFunc(cb) && cb(sub) + }, can.ui.toolkit.output) }, project: function(can, path) { can.Option({path: path}) @@ -80,14 +122,11 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target can.run({}, [path, file], function(msg) { can.tabview[path+file] = msg msg.Option({path: path, file: file, line: line||1}) - - msg._tab = can.page.Append(can, can._action, [ - {text: [file.split(ice.PS).pop(), html.DIV, chat.TABS], title: file, onclick: function(event) { - can.onimport.tabview(can, path, file, "", cb) - }, _init: function(item) { can.core.Timer(10, function() { item.click() }) - can.onaction.EnableDrop(can, can._action, chat.DIV_TABS, item) - }} - ]).last + msg._tab = can.onappend.tabs(can, [{name: file.split(ice.PS).pop(), text: file}], function(event, meta) { + can.onimport.tabview(can, path, file, "", cb) + }, function(item) { + delete(can.tabview[path+file]) + }), can.core.Timer(10, function() { msg._tab.click() }) }, true) }, }, [""]) @@ -102,7 +141,6 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"], return can.onaction.selectLine(can, parseInt(msg.Option(nfs.LINE))) } - can.current = {} function init(p) { can.max = 0, can.core.List(can.ls = msg.Result().split(ice.NL), function(item) { can.onaction.appendLine(can, item) }), can.onaction.selectLine(can, msg.Option(nfs.LINE)||1) } @@ -141,15 +179,14 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"], return p.line? p.line(can, line): line }, }) -Volcanos("onaction", {help: "控件交互", list: ["项目", "收藏"], +Volcanos("onaction", {help: "控件交互", list: ["项目", "工具"], back: function(event, can) { var last = can.history.pop(); last = can.history.pop() last && can.onimport.tabview(can, last.path, last.file, last.line) can.Status("跳转数", can.history.length) }, "项目": function(event, can) { can.onmotion.toggle(can, can.ui.project) }, - "收藏": function(event, can) { can.onmotion.toggle(can, can.ui.favor._target) }, - "搜索": function(event, can) { can.onmotion.toggle(can, can.ui.search) }, + "工具": function(event, can) { can.onmotion.toggle(can, can.ui.toolkit.fieldset) }, exec: function(event, can) { var msg = can.request(event, {_toast: "运行中..."}) can.run(event, [ctx.ACTION, mdb.ENGINE, can.parse, can.Option(nfs.FILE), can.Option(nfs.PATH)], function(msg) { can.onappend.table(can, msg, null, can.ui.output||can.ui.display) @@ -284,21 +321,6 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "收藏"], ], function(msg) { can.user.toastSuccess(can) }, true) }) }, - EnableDrop: function(can, parent, search, target) { - return can.page.Modify(can, target, { draggable: true, - ondragstart: function(event) { var target = event.target; can.drop = function(event, tab) { - parent.insertBefore(target, tab), can.page.Select(can, parent, search, function(item) { - can.page.ClassList.del(can, item, "over") - }) - } }, - ondragover: function(event) { event.preventDefault() - can.page.Select(can, parent, search, function(item) { - can.page.ClassList.del(can, item, "over") - }), can.page.ClassList.add(can, event.target, "over") - }, - ondrop: function(event) { event.preventDefault(), can.drop(event, event.target) }, - }) - }, }) Volcanos("onexport", {help: "导出数据", list: ["文件数", "解析器", "文件名", "当前行", "跳转数", "标签数"], position: function(can, index, total) { total = total || can.max diff --git a/plugin/local/code/snippet.js b/plugin/local/code/snippet.js index 807fd73b..63072916 100644 --- a/plugin/local/code/snippet.js +++ b/plugin/local/code/snippet.js @@ -4,7 +4,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.onappend.plugin(can, {index: "web.code.vimer", style: "full"}, function(sub) { sub.run = function(event, cmds, cb) { var res = can.request(event) if (cmds[1] == "plugin") { - can.run(event, can.misc.concat(["action", "vimer"], cmds), cb, true) + can.run(event, can.misc.concat(can, ["action", "vimer"], cmds), cb, true) return } if (cmds[1] == "main.go") { res.Echo(msg.Option("content")) diff --git a/plugin/local/team/plan.js b/plugin/local/team/plan.js index 90a93ba5..03b7a87b 100644 --- a/plugin/local/team/plan.js +++ b/plugin/local/team/plan.js @@ -78,7 +78,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, _display: function(can, task) { if (!task["extra.cmd"]) { return } can.onappend.plugin(can, {type: chat.STORY, ctx: task["extra.ctx"], cmd: task["extra.cmd"], arg: task["extra.arg"]}, function(sub, meta) { sub.run = function(event, cmds, cb) { var msg = can.request(event, kit.Dict("task.pod", task["pod"], "task.zone", task.zone, "task.id", task.id)) - can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, task[mdb.ZONE], task[mdb.ID]], cmds), cb, true) + can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, task[mdb.ZONE], task[mdb.ID]], cmds), cb, true) } }, can.ui.display) can.page.Modify(can, can.ui.display, {style: {display: html.BLOCK}}) diff --git a/plugin/local/wiki/draw.js b/plugin/local/wiki/draw.js index be7885c1..ee6d40d3 100644 --- a/plugin/local/wiki/draw.js +++ b/plugin/local/wiki/draw.js @@ -415,7 +415,7 @@ Volcanos("ondetail", {help: "组件详情", list: [cli.START, ice.RUN, ice.COPY, can.onmotion.clear(can, can.ui.display), can.svg.Value("pid", target.Value("pid")) var index = target.Value(mdb.INDEX); index && can.onappend.plugin(can, {type: chat.STORY, index: index, args: target.Value(ctx.ARGS)}, function(sub) { sub.Conf("height", can.Conf("height")-can.svg.Val("height")-52), sub.Conf("width", can.Conf("width")) - sub.run = function(event, cmds, cb) { can.run(event, can.misc.concat([ice.RUN, index], cmds), cb, true) } + sub.run = function(event, cmds, cb) { can.run(event, can.misc.concat(can, [ice.RUN, index], cmds), cb, true) } can.onmotion.hidden(can, sub._legend), can.onmotion.hidden(can, can.ui.display, true) }, can.ui.display) }, diff --git a/plugin/local/wiki/word.js b/plugin/local/wiki/word.js index 8855fd55..62e13e23 100644 --- a/plugin/local/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -60,7 +60,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target field: function(can, data, target, width) { var item = can.base.Obj(data.meta) can.onappend._init(can, item, [chat.PLUGIN_STATE_JS], function(sub) { sub.run = function(event, cmds, cb, silent) { - can.run(event, can.misc.concat([ctx.ACTION, chat.STORY, data.type, data.name, data.text], cmds), cb, true) + can.run(event, can.misc.concat(can, [ctx.ACTION, chat.STORY, data.type, data.name, data.text], cmds), cb, true) } sub.Conf(html.HEIGHT, can.Conf(html.HEIGHT)) sub.Conf(html.WIDTH, item.width = (width||can.Conf(html.WIDTH))-20) diff --git a/plugin/story/spide.js b/plugin/story/spide.js index a0c95486..bafacad9 100644 --- a/plugin/story/spide.js +++ b/plugin/story/spide.js @@ -172,7 +172,7 @@ Volcanos("ondetail", {help: "用户交互", list: [], } can.onappend.plugin(can, can.base.Copy(value, {type: chat.FLOAT, index: index, args: args}), function(sub) { sub.run = function(event, cmds, cb) { can.request(event, value, can.Option()) - can.run(event, can.misc.concat(prefix, cmds), cb, true) + can.run(event, can.misc.concat(can, prefix, cmds), cb, true) }, can.ondetail.figure(can, sub) }) }, diff --git a/proto.js b/proto.js index a67aa447..2d5bdd67 100644 --- a/proto.js +++ b/proto.js @@ -203,6 +203,7 @@ var html = { FIELDSET_HEAD: "fieldset.head", FIELDSET_FOOT: "fieldset.foot", FIELDSET_LEFT: "fieldset.left", FIELDSET_MAIN: "fieldset.main", FIELDSET_AUTO: "fieldset.auto", FIELDSET_FLOAT: "fieldset.float", + DIV_LEGEND: "div.legend", OPTION_ARGS: "select.args,input.args,textarea.args", INPUT_ARGS: "input.args,textarea.args", diff --git a/publish/chrome/contexts.js b/publish/chrome/contexts.js index fbaf6174..42764926 100644 --- a/publish/chrome/contexts.js +++ b/publish/chrome/contexts.js @@ -73,7 +73,7 @@ setTimeout(function() { Volcanos({Option: function() { return [] }, }, msg.Option("selection")||sub._legend.onclick() sub.run = function(event, cmds, cb) { if (msg.RunAction(event, can, cmds)) { return } - can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, meta.index], cmds), cb) + can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, meta.index], cmds), cb) } msg.Option("selection") && (can.onengine.listen(can, "onselection", function() { @@ -113,7 +113,7 @@ setTimeout(function() { Volcanos({Option: function() { return [] }, }, }, function(can) { can.run = function(event, cmds, cb) { if (cmds[0] == "_search") { return } - var msg = can.request(event, {host: location.host}); msg.detail = can.misc.concat(["page"], cmds) + var msg = can.request(event, {host: location.host}); msg.detail = can.misc.concat(can, ["page"], cmds) chrome.runtime.sendMessage(msg, function(res) { can.base.isFunc(cb) && cb(msg.Copy(res)) }) }, can._daemon(can), can._motion(can) }) }, 1)