From cfe7327bfe81c800d80a89dd037d5cdadd56ed01 Mon Sep 17 00:00:00 2001 From: shaoying Date: Mon, 5 Apr 2021 05:41:12 +0800 Subject: [PATCH] opt panel --- frame.js | 34 +++++++++++++++++----------------- index.html | 17 ----------------- page/index.css | 2 +- page/index.html | 18 +++++++++++++++++- page/index.js | 2 +- page/share.js | 2 +- {pane => panel}/Action.css | 0 {pane => panel}/Action.js | 4 ++-- {pane => panel}/Footer.css | 0 {pane => panel}/Footer.js | 0 {pane => panel}/Header.css | 0 {pane => panel}/Header.js | 0 {pane => panel}/River.css | 0 {pane => panel}/River.js | 2 +- {pane => panel}/Search.css | 0 {pane => panel}/Search.js | 0 proto.js | 6 +++--- publish/chrome/popup.js | 2 +- 18 files changed, 44 insertions(+), 45 deletions(-) delete mode 100644 index.html mode change 120000 => 100644 page/index.html rename {pane => panel}/Action.css (100%) rename {pane => panel}/Action.js (98%) rename {pane => panel}/Footer.css (100%) rename {pane => panel}/Footer.js (100%) rename {pane => panel}/Header.css (100%) rename {pane => panel}/Header.js (100%) rename {pane => panel}/River.css (100%) rename {pane => panel}/River.js (99%) rename {pane => panel}/Search.css (100%) rename {pane => panel}/Search.js (100%) diff --git a/frame.js b/frame.js index bdcbf2db..887b7efb 100644 --- a/frame.js +++ b/frame.js @@ -1,21 +1,21 @@ var _can_name = "/frame.js" Volcanos("onengine", {help: "解析引擎", list: [], _init: function(can, meta, list, cb, target) { - can.core.Next(list, function(item, next) { item.type = "pane" - can.onappend._init(can, item, item.list, function(pane) { - pane.onaction && pane.onappend._action(pane, item.action||pane.onaction.list) - pane.Status = pane.Status || function(key, value) { pane.run({}, ["search", "Footer.onimport."+key, value]) } + can.core.Next(list, function(item, next) { item.type = "panel" + can.onappend._init(can, item, item.list, function(panel) { + panel.onaction && panel.onappend._action(panel, item.action||panel.onaction.list) + panel.Status = panel.Status || function(key, value) { panel.run({}, ["search", "Footer.onimport."+key, value]) } - pane.run = function(event, cmds, cb) { var msg = pane.request(event); cmds = cmds || [] - return (can.onengine[cmds[0]]||can.onengine[meta.main.engine]||can.onengine.remote)(event, can, msg, pane, cmds, cb) - }, can[item.name] = pane, next() + panel.run = function(event, cmds, cb) { var msg = panel.request(event); cmds = cmds || [] + return (can.onengine[cmds[0]]||can.onengine[meta.main.engine]||can.onengine.remote)(event, can, msg, panel, cmds, cb) + }, can[item.name] = panel, next() }, target) }, function() { - var pane = can[meta.main.name], msg = can.request() - pane.onmotion._init(pane, target), pane.onkeypop._init(pane, target) - pane.onaction._init(pane, msg, [], cb, pane._target) + var panel = can[meta.main.name], msg = can.request() + panel.onmotion._init(panel, target), panel.onkeypop._init(panel, target) + panel.onaction._init(panel, msg, [], cb, panel._target) }) }, - search: function(event, can, msg, pane, cmds, cb) { + search: function(event, can, msg, panel, cmds, cb) { var sub, mod = can, fun = can, key = ""; can.core.List(cmds[1].split("."), function(value) { fun && (sub = mod, mod = fun, fun = mod[value], key = value) }); if (!sub || !mod || !fun) { can.base.Warn("not found", cmds[1]); return } @@ -26,12 +26,12 @@ Volcanos("onengine", {help: "解析引擎", list: [], _init: function(can, meta, "list": cmds.slice(2), "cb": cb, "target": sub._target, }, mod) }, - remote: function(event, can, msg, pane, cmds, cb) { + remote: function(event, can, msg, panel, cmds, cb) { delete(msg._handle), delete(msg._toast) - if (pane.onengine.engine(event, can, msg, pane, cmds, cb)) { return } - can.misc.Runs(event, can, {names: pane._name}, cmds, cb) - pane.run(event, ["search", "Footer.onimport.ncmd"]) - }, engine: function(event, can, msg, pane, cmds, cb) { return false }, + if (panel.onengine.engine(event, can, msg, panel, cmds, cb)) { return } + can.misc.Runs(event, can, {names: panel._name}, cmds, cb) + panel.run(event, ["search", "Footer.onimport.ncmd"]) + }, engine: function(event, can, msg, panel, cmds, cb) { return false }, listen: shy("事件回调", {}, [], function(can, name, cb) { arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb) }), @@ -664,7 +664,7 @@ Volcanos("onkeypop", {help: "键盘交互", list: [], _init: function(can, targe t: function(event, can, target) { can.run(event, ["search", "River.ondetail.添加工具"]) }, " ": function(event, can, target) { - can.page.Select(can, document.body, "fieldset.pane.Header div.search input", function(target) { + can.page.Select(can, document.body, "fieldset.panel.Header div.search input", function(target) { target.focus() }) }, diff --git a/index.html b/index.html deleted file mode 100644 index 17c00c2f..00000000 --- a/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - volcanos - - - - - - - - - - - - diff --git a/page/index.css b/page/index.css index e7fd8530..d5e3b7d6 100644 --- a/page/index.css +++ b/page/index.css @@ -63,7 +63,7 @@ legend { fieldset { margin:0; border:0; padding:0; } -fieldset.pane>legend { +fieldset.panel>legend { display:none; } fieldset.plugin { diff --git a/page/index.html b/page/index.html deleted file mode 120000 index 79c5d6f0..00000000 --- a/page/index.html +++ /dev/null @@ -1 +0,0 @@ -../index.html \ No newline at end of file diff --git a/page/index.html b/page/index.html new file mode 100644 index 00000000..17c00c2f --- /dev/null +++ b/page/index.html @@ -0,0 +1,17 @@ + + + + + volcanos + + + + + + + + + + + + diff --git a/page/index.js b/page/index.js index 4d8f7213..2c3c0a7e 100644 --- a/page/index.js +++ b/page/index.js @@ -1,5 +1,5 @@ Volcanos({name: "chat", iceberg: "/chat/", volcano: "/frame.js", - libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"], panes: [ + libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"], panels: [ {name: "Header", help: "标题栏", pos: "head", state: ["time", "username"]}, {name: "Search", help: "搜索框", pos: "auto"}, {name: "River", help: "群聊组", pos: "left", action: ["创建", "刷新"]}, diff --git a/page/share.js b/page/share.js index e664cbfa..f089a304 100644 --- a/page/share.js +++ b/page/share.js @@ -1,5 +1,5 @@ Volcanos({name: "chat", iceberg: "/chat/", volcano: "/frame.js", - libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"], panes: [ + libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"], panels: [ {name: "Action", help: "工作台", pos: "main"}, ], main: {name: "Action", engine: "remote", list: ["/publish/order.js"]}, plugin: [ "/plugin/state.js", diff --git a/pane/Action.css b/panel/Action.css similarity index 100% rename from pane/Action.css rename to panel/Action.css diff --git a/pane/Action.js b/panel/Action.js similarity index 98% rename from pane/Action.js rename to panel/Action.js index 49cf74d9..b49a8c79 100644 --- a/pane/Action.js +++ b/panel/Action.js @@ -40,13 +40,13 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg) }, }) Volcanos("onengine", {help: "解析引擎", list: [], - engine: function(event, can, msg, pane, cmds, cb) { + engine: function(event, can, msg, panel, cmds, cb) { var river = can.onengine.river[cmds[0]] var storm = river && river.storm[cmds[1]] if (!storm || cmds.length != 2) { return false } if (storm.index) { cmds = ["action", "command"].concat(storm.index) - can.misc.Runs(event, can, {names: pane._name}, cmds, cb) + can.misc.Runs(event, can, {names: panel._name}, cmds, cb) } else { can.core.List(storm.action, function(value) { msg.Push("name", value.name||"") diff --git a/pane/Footer.css b/panel/Footer.css similarity index 100% rename from pane/Footer.css rename to panel/Footer.css diff --git a/pane/Footer.js b/panel/Footer.js similarity index 100% rename from pane/Footer.js rename to panel/Footer.js diff --git a/pane/Header.css b/panel/Header.css similarity index 100% rename from pane/Header.css rename to panel/Header.css diff --git a/pane/Header.js b/panel/Header.js similarity index 100% rename from pane/Header.js rename to panel/Header.js diff --git a/pane/River.css b/panel/River.css similarity index 100% rename from pane/River.css rename to panel/River.css diff --git a/pane/River.js b/panel/River.js similarity index 99% rename from pane/River.js rename to panel/River.js index 2d1112ed..020378f1 100644 --- a/pane/River.js +++ b/panel/River.js @@ -18,7 +18,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, }), select && select.click(), typeof cb == "function" && cb(msg) }, }) -Volcanos("onengine", {help: "解析引擎", list: [], engine: function(event, can, msg, pane, cmds, cb) { +Volcanos("onengine", {help: "解析引擎", list: [], engine: function(event, can, msg, panel, cmds, cb) { cmds.length == 0 && can.core.Item(can.onengine.river, function(key, value) { msg.Push({hash: key, name: value.name}) }); if (cmds.length != 1 && cmds[1] != "tool") { return false } diff --git a/pane/Search.css b/panel/Search.css similarity index 100% rename from pane/Search.css rename to panel/Search.css diff --git a/pane/Search.js b/panel/Search.js similarity index 100% rename from pane/Search.js rename to panel/Search.js diff --git a/proto.js b/proto.js index fe6379bd..8ed05e2f 100644 --- a/proto.js +++ b/proto.js @@ -17,14 +17,14 @@ var Volcanos = shy("火山架", {args: {}, pack: {}, libs: [], cache: {}}, [], f meta.libs = Config.libs, meta.volcano = Config.volcano // 预加载 - var Preload = [Config.volcano]; for (var i = 0; i < Config.panes.length; i++) { var pane = Config.panes[i] - pane && (Preload = Preload.concat(pane.list = pane.list || ["/pane/"+pane.name+".css", "/pane/"+pane.name+".js"])) + var Preload = [Config.volcano]; for (var i = 0; i < Config.panels.length; i++) { var panel = Config.panels[i] + panel && (Preload = Preload.concat(panel.list = panel.list || ["/panel/"+panel.name+".css", "/panel/"+panel.name+".js"])) }; Preload = Preload.concat(Config.plugin) // 根模块 name = Config.name, can = {_follow: Config.name, _target: document.body} libs = Preload.concat(Config.libs, Config.main.list), cb = function(can) { - can.onengine._init(can, can.Conf(Config), Config.panes, function(msg) { can.base.Log(can.user.title(), "run", can) + can.onengine._init(can, can.Conf(Config), Config.panels, function(msg) { can.base.Log(can.user.title(), "run", can) document.body.onresize = function() { can.onlayout._init(can, can._target) } }, can._target) } diff --git a/publish/chrome/popup.js b/publish/chrome/popup.js index 3175c157..c689dd8a 100644 --- a/publish/chrome/popup.js +++ b/publish/chrome/popup.js @@ -1,5 +1,5 @@ Volcanos({name: "demo", iceberg: "http://localhost:9020/chat/", volcano: "/frame.js", - libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"], panes: [ + libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"], panels: [ {name: "Header", help: "标题栏", pos: "head", state: ["time", "username"]}, {name: "Search", help: "搜索框", pos: "auto"}, {name: "River", help: "群聊组", pos: "left", action: ["创建", "刷新"]},