From e413aee64a9b525920f53d9cb2ae812b38c41bcb Mon Sep 17 00:00:00 2001 From: harveyshao Date: Wed, 1 Sep 2021 23:06:00 +0800 Subject: [PATCH] opt word --- frame.js | 7 +++++ panel/river.js | 4 +-- plugin/local/code/vimer.js | 2 +- plugin/local/wiki/word.css | 55 ++++++++++++++++++++++++++++++++++++++ plugin/local/wiki/word.js | 28 +++++++++++++++++-- 5 files changed, 91 insertions(+), 5 deletions(-) diff --git a/frame.js b/frame.js index 6a4d2564..12119fe9 100644 --- a/frame.js +++ b/frame.js @@ -270,6 +270,13 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }) }, + list: function(can, root, cb, target) { + can.core.List(root.list, function(item) { + var ui = can.page.Append(can, target, [{view: ["item", "div", item.meta.name], onclick: function(event) { + can.base.isFunc(cb) && cb(event, item) || can.onmotion.toggle(can, ui.list) + }}, {view: "list"}]); can.onappend.list(can, item, cb, ui.list) + }) + }, item: function(can, type, item, cb, cbs, target) { target = target||can._output var ui = can.page.Append(can, target, [{view: [type, html.DIV, item.nick||item.name], onclick: function(event) { cb(event, ui.first) diff --git a/panel/river.js b/panel/river.js index 0b8205f2..734195ce 100644 --- a/panel/river.js +++ b/panel/river.js @@ -135,7 +135,7 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户 sublist: ["共享应用", "添加工具", "保存参数", "重命名应用", "删除应用"], menus: [chat.RIVER, ["添加", "创建群组", "添加应用", "添加工具", "添加用户", "添加设备", "创建空间"], - ["共享", "共享群组", "共享应用", "共享工具", "共享主机"], + ["共享", "共享群组", "共享应用", "共享工具", "共享主机", "访问空间"], ], "创建群组": function(event, can) { can.onaction.create(event, can) }, @@ -245,7 +245,7 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户 "访问用户": function(event, can, button, river, storm) { can.user.select(event, can, chat.USER, "time,type,name,text") }, - "访问设备": function(event, can, button, river, storm) { + "访问空间": function(event, can, button, river, storm) { can.user.select(event, can, web.SPACE, "time,type,name,text") }, "工作任务": function(event, can, button, river, storm) { diff --git a/plugin/local/code/vimer.js b/plugin/local/code/vimer.js index 3d8ce0f9..7a3d4032 100644 --- a/plugin/local/code/vimer.js +++ b/plugin/local/code/vimer.js @@ -297,7 +297,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert" can.onaction.rerankLine(can) }, }) -Volcanos("onaction", {help: "控件交互", list: ["项目", "autogen"], +Volcanos("onaction", {help: "控件交互", list: ["autogen", "compile"], save: function(event, can) { var msg = can.request(event, {content: can.onexport.content(can)}) can.run(event, [ctx.ACTION, "save", can.parse, can.Option("file"), can.Option("path")], function(msg) { can.user.toast(can, "保存成功") diff --git a/plugin/local/wiki/word.css b/plugin/local/wiki/word.css index 229ef381..c0c1af17 100644 --- a/plugin/local/wiki/word.css +++ b/plugin/local/wiki/word.css @@ -99,3 +99,58 @@ fieldset.word video.story { max-height:320px; } +fieldset.word div.navmenu { + clear:both; + float:left; + min-width:120px; + background-color:inherit; + margin-right:10px; +} +fieldset.word div.navmenu>div.item { + font-weight:bold; + font-size:24px; + padding:4px 10px; +} +fieldset.word div.navmenu>div.list>div.item { + font-weight:bold; + font-size:18px; +} +fieldset.word div.navmenu div.item { + font-family:cursive; + padding:4px 10px; +} +fieldset.word div.navmenu div.list { + margin-left:20px; +} +fieldset.word div.navmenu div.item:hover { + cursor:pointer; + background-color:red; +} +fieldset.word>div.output { + clear:none; + float:left; +} +fieldset.word>div.status { + clear:both; +} + +fieldset.word.cmd { + padding:0; + margin:0; +} +fieldset.word.cmd>legend { + display:none; +} +fieldset.word.cmd>form.option { + display:none; +} +fieldset.word.cmd>div.action { + display:none; +} +fieldset.word.cmd>div.status { + display:none; +} + +fieldset.word ul[data-type=endmenu] { + clear:both; +} diff --git a/plugin/local/wiki/word.js b/plugin/local/wiki/word.js index 278971c8..b8eea719 100644 --- a/plugin/local/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -1,6 +1,5 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { - can.onmotion.clear(can) - can.base.isFunc(cb) && cb(msg) + can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg) if (msg.Length() > 0) { return can.onappend.table(can, msg) } can.page.Modify(can, target, msg.Result()) @@ -9,6 +8,31 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.page.Modify(can, item, {style: can.base.Obj(data.style)}) // delete(data.meta) }) + + if (location.pathname.indexOf("/chat/cmd") == 0) { + can.page.ClassList.add(can, can._fields, "cmd") + can.page.Modify(can, can._output, {style: {height: window.innerHeight}}) + can.page.Modify(can, can.sup._navmenu, {style: {height: window.innerHeight}}) + can.sup._navmenu && can.Conf("width", can.Conf("width")-can.sup._navmenu.offsetWidth+30) + } else { + can.sup._navmenu && can.Conf("width", can.Conf("width")-can.sup._navmenu.offsetWidth-20) + } + }, + navmenu: function(can, data, target) { var nav = can.sup._navmenu + nav = nav || can.page.Append(can, can._fields, [{view: "navmenu"}]).first + can.sup._navmenu = nav, can._fields.insertBefore(nav, can._output) + 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 } + + can.page.Cache(can.Option("path"), can._output, "some") + can.Option("path", item.meta.link) + var some = can.page.Cache(can.Option("path"), can._output) + + if (!some) { can.sup.Update(event, [item.meta.link]) } + return true + }, nav) }, premenu: function(can, data, target) {