From b4bba856349b9e213d0c67147bfc541cb7c32ada Mon Sep 17 00:00:00 2001 From: harveyshao Date: Sat, 4 Sep 2021 16:31:25 +0800 Subject: [PATCH] opt some --- frame.js | 8 +++++--- panel/cmd.css | 9 +++++++++ plugin/story/trend.js | 10 ++++++---- proto.js | 2 ++ 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/frame.js b/frame.js index 18ad48de..6c0a67bd 100644 --- a/frame.js +++ b/frame.js @@ -94,7 +94,7 @@ Volcanos("ondaemon", {help: "推荐引擎", list: [], _init: function(can, name) Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, list, cb, target, field) { meta.name = meta.name || "", meta.name = meta.name.split(" ")[0].split(".").pop() field = field || can.onappend.field(can, meta.type, meta, target).first - var legend = can.page.Select(can, field, "legend")[0] + var legend = can.page.Select(can, field, ".legend")[0]||can.page.Select(can, field, "legend")[0] var option = can.page.Select(can, field, "form.option")[0] var action = can.page.Select(can, field, "div.action")[0] var output = can.page.Select(can, field, "div.output")[0] @@ -297,8 +297,10 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }, field: function(can, type, item, target) { type = type || html.INPUT, item = item || {} var name = (item.nick||item.name||"").split(" ")[0] - return can.page.Append(can, target||can._output, [{view: [(type||"")+" "+(item.name||"")+" "+(item.pos||""), "fieldset"], list: [ - name && {text: [name+"("+(item.help||"").split(" ")[0]+")", html.LEGEND]}, + var title = item.help? name+"("+item.help.split(" ")[0]+")": name + return can.page.Append(can, target||can._output, [{view: [(type||"")+" "+(item.name||"")+" "+(item.pos||""), html.FIELDSET], list: [ + name && {text: [title, html.LEGEND]}, + can.user.isCmd && type == "plugin" && {view: [html.LEGEND, html.DIV, title]}, {view: ["option", "form"]}, {view: ["action"]}, {view: ["output"]}, {view: ["status"]}, ]}]) }, diff --git a/panel/cmd.css b/panel/cmd.css index bc3963fe..8953d038 100644 --- a/panel/cmd.css +++ b/panel/cmd.css @@ -1,6 +1,15 @@ +fieldset.plugin>div.legend { + float:left; padding:0 10px; margin-right:3px; + height:25px; font-size:18px; + background-color:darkcyan; + cursor:pointer; +} fieldset.panel.cmd>div.output>fieldset.plugin>legend { display:none; } fieldset.panel.cmd>div.output>fieldset.plugin { margin:0; padding:0; } +body.white fieldset.plugin>div.legend { + background-color:honeydew; +} diff --git a/plugin/story/trend.js b/plugin/story/trend.js index f8812233..38afef36 100644 --- a/plugin/story/trend.js +++ b/plugin/story/trend.js @@ -4,7 +4,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, if (msg.Option("branch")) { return can.onappend.table(can, msg) } can.msg = msg, can.data = msg.Table(), can.onimport._sum(can) - can.Action("height", parseInt(msg.Option("height")||can.user.isMobile&&can.user.isLandscape? "200": "400")) + can.Action("height", msg.Option("height")||can.user.isCmd? "max": can.user.isMobile&&can.user.isLandscape? "200": "400") can.Action("speed", parseInt(msg.Option("speed")||"100")) can.onappend.plugins(can, {index: "web.wiki.draw"}, function(sub) { @@ -44,15 +44,17 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.Status({"from": begin, "commit": count, "total": add+del, "max": max}) }, }) -Volcanos("onaction", {help: "组件菜单", list: ["编辑", ["view", "趋势图", "柱状图", "数据源"], ["height", "100", "200", "400", "600", "800"], ["speed", "10", "20", "50", "100"]], +Volcanos("onaction", {help: "组件菜单", list: ["编辑", ["view", "趋势图", "柱状图", "数据源"], ["height", "100", "200", "400", "600", "800", "max"], ["speed", "10", "20", "50", "100"]], "编辑": function(event, can) { can.onmotion.toggle(can, can.draw._action) can.onmotion.toggle(can, can.draw._status) }, - "趋势图": function(event, can) { + "趋势图": function(event, can) { var height = can.Action("height") + if (height == "max") { height = can.Conf("height") - chat.CMD_MARGIN } + height = parseInt(height) + var space = 10 var width = parseInt(can.Conf("width")) - var height = parseInt(can.Action("height")) var step = parseInt((width-2*space) / can.list.length) can.onmotion.clear(can, can.draw.svg) diff --git a/proto.js b/proto.js index 81b8a8b5..9bb00a4b 100644 --- a/proto.js +++ b/proto.js @@ -113,6 +113,7 @@ const chat = { CHECK: "check", SHARE: "share", GRANT: "grant", + CMD_MARGIN: 53, } const team = { TASK: "task", @@ -133,6 +134,7 @@ const html = { BUTTON: "button", LEGEND: "legend", TEXTAREA: "textarea", + FIELDSET: "fieldset", SELECT: "select", OPTION: "option", INPUT: "input",