From 1b2aeed009241a52317386646bfa47df65580867 Mon Sep 17 00:00:00 2001 From: harveyshao Date: Mon, 6 Sep 2021 19:06:18 +0800 Subject: [PATCH] opt some --- lib/user.js | 2 +- panel/action.js | 25 +++++++++++++++++-------- plugin/local/wiki/word.js | 13 ++++++++++--- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/lib/user.js b/lib/user.js index b7d4a136..e596b580 100644 --- a/lib/user.js +++ b/lib/user.js @@ -27,7 +27,7 @@ Volcanos("user", {help: "用户操作", agent: { isWindows: navigator.userAgent.indexOf("Windows") > -1, isLocalFile: location && location.protocol && location.protocol == "file:", isExtension: location && location.protocol && location.protocol == "chrome-extension:", - isCmd: location && location.pathname && location.pathname.indexOf("/cmd/") > -1, + isCmd: location && location.pathname && (location.pathname.indexOf("/cmd/") > -1 || location.pathname.indexOf("/help/") == 0), alert: function(text) { alert(JSON.stringify(text)) }, confirm: function(text) { return confirm(JSON.stringify(text)) }, diff --git a/panel/action.js b/panel/action.js index 9364571f..f48438f0 100644 --- a/panel/action.js +++ b/panel/action.js @@ -40,12 +40,14 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg) return } can._menu && can.page.Remove(can, can._menu) - can._menu = can.search({}, ["Header.onimport.menu", can._ACTION, - // ["布局", "默认布局", "流动布局", "网格布局", "标签布局", "自由布局"], - ["help", "tutor", "manual", "service", "devops", "refer"], - ], function(event, button, list) { + can._menu = can.search({}, ["Header.onimport.menu", can._ACTION].concat( + can.base.Obj(msg.Option("menus"), [ + // ["布局", "默认布局", "流动布局", "网格布局", "标签布局", "自由布局"], + ["help", "tutor", "manual", "service", "devops", "refer"], + ]) + ), function(event, button, list) { if (list[0] == "help") { - can.user.open("/chat/cmd/src/help/"+button+".shy") + can.user.open("/help/"+button+".shy") } else { can.onaction.layout(can, button) } @@ -184,9 +186,16 @@ Volcanos("onexport", {help: "导出数据", list: [], type: can._PLUGIN, name: item.innerHTML, text: shy("跳转", function(event) { var input = can.page.Select(can, item.parentNode, "input.args")[0] input && input.focus() - }), - context: meta.ctx||meta.key||"", command: meta.index||meta.cmd||meta.name, argument: JSON.stringify(list), - }; can.core.List(fields, function(key) { msg.Push(key, data[key]||"") }) + }), argument: JSON.stringify(list), + } + if (meta.index) { + data.context = "", data.command = meta.index + } else if (meta.cmd) { + data.context = meta.ctx, data.command = meta.cmd + } else { + return + } + can.core.List(fields, function(key) { msg.Push(key, data[key]||"") }) }) }, }) diff --git a/plugin/local/wiki/word.js b/plugin/local/wiki/word.js index a3e98390..83afb0ef 100644 --- a/plugin/local/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -27,14 +27,17 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.onmotion.clear(can, nav) can.onappend.list(can, can.base.Obj(data.data), function(event, item) { - if (!item.meta.link || item.meta.link == can.Option("path")) { return } + var link = item.meta.link, cmd = link.split("/").pop() + + if (can.onaction[cmd]) { return can.onaction[cmd](event, can) } + if (!link || link == can.Option("path")) { return } can.page.Cache(can.Option("path"), can._output, "some") - can.Option("path", item.meta.link) + can.Option("path", link) var some = can.page.Cache(can.Option("path"), can._output) can.user.title(item.meta.name) - if (!some) { can.sup.Update(event, [item.meta.link]) } + if (!some) { can.sup.Update(event, [link]) } return true }, nav) }, @@ -121,6 +124,10 @@ Volcanos("onkeypop", {help: "键盘交互", list: [], }, _engine: {}, }) Volcanos("onaction", {help: "控件交互", list: [], + home: function(event, can) { + location.href = "/" + }, + "演示": function(event, can) { var list = [], current = [] can.page.Select(can, can._output, ".story", function(item) { switch (item.tagName) {