From ac7f9778ab6be8cfb2d7cde63b1375093c478182 Mon Sep 17 00:00:00 2001 From: shylinux Date: Tue, 8 Aug 2023 10:56:24 +0800 Subject: [PATCH] add some --- frame.js | 7 +++++-- index.css | 2 +- lib/misc.js | 5 ++++- panel/action.js | 7 +------ panel/header.js | 2 +- plugin/state.js | 2 +- publish/chrome/daemon.js | 2 +- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/frame.js b/frame.js index 10a45843..dabb884d 100644 --- a/frame.js +++ b/frame.js @@ -55,14 +55,17 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) { can.requ return can.base.isString(item) && (item = can.core.SplitInput(item, can.base.isFunc(command.meta[item])? html.BUTTON: type)), item.type != html.SELECT && (type = item.type), button = button || item.type == html.BUTTON, item }); if (!button) { command.list.push(can.core.SplitInput(ice.LIST, html.BUTTON)) } command.can = can, command.meta.name = name, arguments.callee.meta[_name] = command }), - listen: shy(function(can, name, cb, target) { arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb) }), + listen: shy(function(can, name, cb, target) { + arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb) + if (target) { target[name] = function(event) { can.onengine.signal(can, name) } } + }), signal: function(can, name, msg) { msg = msg||can.request(); var _msg = name == chat.ONREMOTE? msg.Option("_msg"): msg _msg.Option(ice.LOG_DISABLE) == ice.TRUE || can.misc.Log(name, can._name, (msg._cmds||[]).join(lex.SP), name == chat.ONMAIN? can: _msg) return can.core.List(can.onengine.listen.meta[name], function(cb) { can.core.CallFunc(cb, {event: msg._event, msg: msg}) }).length, msg }, }) Volcanos(chat.ONDAEMON, {_init: function(can, name) { if (can.user.isLocalFile) { return } - can.misc.WSS(can, {type: html.CHROME, name: can.misc.Search(can, cli.DAEMON)||name||"", text: can.user.title(), module: "shylinux.com/x/volcanos", version: can.base.trimPrefix(window._version, "?_v=")}, function(event, msg, cmd, arg, cb) { + can.misc.WSS(can, {type: html.CHROME, name: can.misc.Search(can, cli.DAEMON)||name||"", text: location.pathname, module: "shylinux.com/x/volcanos", version: can.base.trimPrefix(window._version, "?_v=")}, function(event, msg, cmd, arg, cb) { var sub = can.ondaemon._list[msg.Option(ice.MSG_TARGET)]||can; can.base.isFunc(sub.ondaemon[cmd])? can.core.CallFunc(sub.ondaemon[cmd], {can: can, msg: msg, sub: sub, cmd: cmd, arg: arg, cb: cb}): can.onengine._search({}, can, msg, can, [chat._SEARCH, cmd].concat(arg), cb) diff --git a/index.css b/index.css index 60c02d7e..43c8581e 100644 --- a/index.css +++ b/index.css @@ -359,7 +359,7 @@ fieldset.draw div.output svg { margin-bottom:-5px; } fieldset.draw>form.option>div.item.pid>input { width:60px; } fieldset.draw.trend div.output svg { background-color:#1b5b738c; } fieldset.draw.trend div.output { overflow:hidden; } -fieldset.draw.spide div.output { overflow:hidden; } +fieldset.draw.spide div.output { overflow-y:hidden; } fieldset.draw.spide div.output svg text { cursor:pointer; } fieldset.draw.spide div.output svg path { stroke-width:1; } fieldset.web.code.git.status>div.output table.content { width:100%; } diff --git a/lib/misc.js b/lib/misc.js index 7146aed0..592c41b9 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -152,7 +152,10 @@ Volcanos("misc", { can.core.Item(key, function(k, v) { v === ""? delete(args[k]): (args[k] = v) }) } else if (can.base.isUndefined(value)) { return args[key] } else { value === ""? delete(args[key]): (args[key] = value) - } var search = can.base.Args(args); return search? (location.search = search): (location.href = location.href.split(ice.QS)[0]) + } + location.pathname.indexOf("/chat/pod/") == 0 && delete(args["pod"]) + var search = can.base.Args(args) + return search? (location.search = search): (location.href = location.href.split(ice.QS)[0]) }, SearchHash: function(can) { var hash = location.hash if (arguments.length > 1) { diff --git a/panel/action.js b/panel/action.js index 1166c9fc..d630b6b2 100644 --- a/panel/action.js +++ b/panel/action.js @@ -3,16 +3,12 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.R can.onmotion.clear(can), can.core.Next(msg.Table(), function(item, next) { item.type = chat.PLUGIN, item.mode = can.Mode(); if (item.deleted == ice.TRUE) { return next() } can.onappend.plugin(can, item, function(sub, meta, skip) { can._plugins = (can._plugins||[]).concat([sub]), can.onimport._tabs(can, sub, meta), skip || next() sub.onaction._close = function() { can.onengine.signal(can, chat.ONACTION_REMOVE, can.request({river: river, storm: storm}, item)), can.page.Remove(can, sub._target) } - sub.run = function(event, cmds, cb) { return can.run(event, (river == web.SHARE? [ctx.ACTION]: []).concat([river, storm, meta.id||meta.index], cmds), cb) } + sub.run = function(event, cmds, cb) { return can.run(event, [river, storm, meta.id||meta.index].concat(cmds), cb) } }) }, function() { can.isCmdMode() || can.onmotion.delay(can, function() { can.onaction.layout(can), can.onappend.scroll(can, can._output) can.onexport.layout(can) && list[0] == river && list[1] == storm && can.core.List(can._plugins, function(sub) { sub.Conf(ctx.INDEX) == list[2] && can.onmotion.delay(can, function() { sub._tabs.click() }) }) }, 300) }) }, - _share: function(can, share) { share && can.runAction({}, web.SHARE, [share], function(msg) { - can.user.title(msg.SearchOrOption(chat.TITLE)), can.setHeader(chat.THEME, msg.SearchOrOption(chat.THEME)), can.Mode(web.SHARE), msg.Length() == 1 && can.onaction._onaction_cmd(can) - can.Conf(chat.RIVER, web.SHARE, chat.STORM, share), can.onimport._init(can, msg) - }) }, _tabs: function(can, sub, meta) { var tabs = [{view: [html.ITEM, "", meta.name], onclick: function(event) { can.onmotion.select(can, can._header_tabs, html.DIV_ITEM, sub._header_tabs) can.onmotion.select(can, can._action, html.DIV_ITEM, sub._tabs), can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target) @@ -31,7 +27,6 @@ Volcanos(chat.ONACTION, {_init: function(can, target) { can.onengine.listen(can, "ontouchstart", function(msg) { can.onengine.signal(can, chat.ONACTION_TOUCH, msg) }, target) }, onsize: function(can, msg, height, width) { can.Conf({height: can.base.Min(height-can.Conf(html.MARGIN_Y), 240), width: width-can.Conf(html.MARGIN_X)}) }, - onmain: function(can, msg) { can.onimport._share(can, can.misc.Search(can, web.SHARE)) }, onlogin: function(can, msg) { can.onimport._menu(can, msg), can.onkeymap._build(can) can._root.River && can.onmotion.delay(can, function() { if (can.Mode()) { return } var gt = can.page.unicode.next, lt = can.page.unicode.prev, river = can._root.River._target var target = can.page.Append(can, can._target, [{view: [[html.TOGGLE, chat.PROJECT], "", can.page.isDisplay(river)? lt: gt], onclick: function(event) { diff --git a/panel/header.js b/panel/header.js index 18e6eaa5..99623cce 100644 --- a/panel/header.js +++ b/panel/header.js @@ -96,7 +96,7 @@ Volcanos(chat.ONACTION, {_init: function(can) { share: function(event, can, args) { can.user.share(can, can.request(event), [ctx.ACTION, chat.SHARE].concat(args||[])) }, avatar: function(event, can) { can.onaction.carte(event, can, [can.page.Format(html.IMG, can.onexport.avatar(can), can.page.height()/2)]) }, usernick: function(event, can) { can.onaction.carte(event, can, can.onaction._menus) }, - shareuser: function(event, can) { can.user.share(can, can.request(event), [ctx.ACTION, chat.SHARE, mdb.TYPE, aaa.LOGIN]) }, + shareuser: function(event, can) { can.user.share(can, can.request(event), [ctx.ACTION, chat.SHARE, mdb.TYPE, aaa.LOGIN, mdb.NAME, can.user.title(), mdb.TEXT, location.href]) }, toimage: function(event, can) { can.onmotion.clearCarte(can), can.user.toimage(can, can.user.title(), can._target.parentNode) }, webpack: function(event, can) { can.onengine.signal(can, chat.ONWEBPACK, can.request(event)) }, setnick: function(event, can) { can.user.input(event, can, [{name: aaa.USERNICK, value: can.Conf(aaa.USERNICK)}], function(list) { can.runAction(event, aaa.USERNICK, [list[0]], function(msg) { diff --git a/plugin/state.js b/plugin/state.js index 3098f9cb..ee699631 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -83,7 +83,7 @@ Volcanos(chat.ONACTION, {list: [ can.ConfHeight(can.page.height()-can.onexport.marginTop()-can.onexport.marginBottom(can)), can.ConfWidth(can.page.width()) }) }, "远程控制": function(event, can) { can.onaction.keyboard(event, can) }, - "共享工具": function(event, can) { var meta = can.Conf(); can.onmotion.share(event, can, [{name: chat.TITLE, value: meta.name}], [mdb.NAME, meta.index, mdb.TEXT, JSON.stringify(can.Input())]) }, + "共享工具": function(event, can) { var meta = can.Conf(); can.onmotion.share(event, can, [], [mdb.NAME, meta.index, mdb.TEXT, JSON.stringify(can.Input())]) }, "打开链接": function(event, can) { can.user.opens(can.onexport.link(can)) }, "生成链接": function(event, can) { can.onmotion.share(event, can, [], [mdb.LINK, can.user.copy(event, can, can.onexport.link(can))]) }, "生成脚本": function(event, can) { var args = can.Input().join(lex.SP), list = [ diff --git a/publish/chrome/daemon.js b/publish/chrome/daemon.js index 06b6cc34..e354cb40 100644 --- a/publish/chrome/daemon.js +++ b/publish/chrome/daemon.js @@ -24,7 +24,7 @@ Volcanos({ chrome.tabs.sendMessage(parseInt(target||msg.Option(ice.MSG_TARGET)), msg, cb||function(res) { msg.Copy(res), msg.Reply() }) }, _daemon: function(can) { - can.misc.WSS(can, {type: html.CHROME, name: html.CHROME}, function(event, msg, cmd, arg, cb) { + can.misc.WSS(can, {type: html.CHROME, name: html.CHROME, module: "shylinux.com/x/volcanos", version: "v0.9.4"}, function(event, msg, cmd, arg, cb) { msg.Option(ice.MSG_TARGET)? can._tabsend(can, msg): can.core.CallFunc([can, cmd], {can: can, msg: msg, arg: arg, cb: cb}) }) chrome.runtime.onMessage.addListener(function(req, sender, cb) {