diff --git a/frame.js b/frame.js index de84689b..b3213524 100644 --- a/frame.js +++ b/frame.js @@ -446,6 +446,19 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { }) } return code.scrollBy && code.scrollBy(0, 10000), code }, tools: function(can, msg, cb, target) { can.onimport.tool(can, can.base.Obj(msg.Option(ice.MSG_TOOLKIT), []), cb, target) }, + toggle: function(can, target) { + var toggle = can.page.Append(can, target, [ + {view: [[html.PROJECT, html.TOGGLE]], onclick: function() { can.onmotion.toggle(can, can.ui.project), can.onimport.layout(can) }}, + {view: [[html.DISPLAY, html.TOGGLE]], onclick: function() { can.onmotion.toggle(can, can.ui.display), can.onimport.layout(can) }}, + {view: [[html.PROFILE, html.TOGGLE]], onclick: function() { can.onmotion.toggle(can, can.ui.profile), can.onimport.layout(can) }}, + ]) + toggle.layout = function() { var up = "\u25B2", down = "\u25BC", left = "\u25C0", right = "\u25B6" + can.page.Modify(can, toggle.project, can.page.isDisplay(can.ui.project)? left: right) + can.page.Modify(can, toggle.display, can.page.isDisplay(can.ui.display)? down: up) + can.page.Modify(can, toggle.profile, can.page.isDisplay(can.ui.profile)? right: left) + } + return toggle + }, layout: function(can, list, type, target) { const FLOW = html.FLOW, FLEX = html.FLEX var count = 0, ui = {size: {}}; type = type||FLEX, target = target||can._output function append(target, type, list) { can.page.ClassList.add(can, target, [html.LAYOUT, type]), can.core.List(list, function(item) { diff --git a/index.css b/index.css index 085ce93d..3f000311 100644 --- a/index.css +++ b/index.css @@ -207,6 +207,12 @@ fieldset>div.output div.project { border-right:var(--box-border); width:230px; } /* fieldset>div.output div.profile { border-left:var(--box-border); max-width:320px; } */ fieldset>div.output div.profile { border-left:var(--box-border); } fieldset>div.output div.display { border-top:var(--box-border); } +div.content { position:relative; } +div.content>div.toggle { position:absolute; } +div.content>div.toggle:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); cursor:pointer; } +div.content>div.toggle.project { top:20%; left:0; height:80px; width:unset; padding-top:25px; transform:scale(1, 3); border:none; } +div.content>div.toggle.profile { top:20%; right:0; height:80px; padding-top:25px; transform:scale(1, 3); border:none; } +div.content>div.toggle.display { left:20%; bottom:0; width:80px; text-align:center; transform:scale(3, 1); border:none; } /* table card */ div.output.card>div.item.stop { color:var(--disable-fg-color); } div.output.card>div.item { padding:10px; border:var(--box-border); margin:10px; width:320px; float:left; box-shadow:var(--box-shadow); } @@ -260,6 +266,7 @@ input:not([type=button]):hover { border:var(--input-border); } input:not([type=button]):focus { border:var(--input-border); outline:none; } textarea { background-color:var(--input-bg-color); color:var(--input-fg-color); } table.content tr:hover { background-color:var(--tr-hover-bg-color); } +table.content tr.select { background-color:var(--tr-hover-bg-color); } // table.content tr:hover { background-color:var(--tr-hover-bg-color); color:var(--hover-fg-color); } table.content th { background-color:var(--th-bg-color); color:var(--th-fg-color); } table.content td:hover { background-color:var(--td-hover-bg-color); } @@ -349,6 +356,7 @@ fieldset.xterm>div.layout { clear:both; } fieldset.xterm div.layout div.output { border-left:var(--box-border); border-top:var(--box-border); } fieldset.xterm div.layout div.output.select { border:var(--box-border)} fieldset.plan div.output div.content>table.content { height:100%; width:100%; } +fieldset.draw div.output svg { margin-bottom:-5px; } fieldset.draw>form.option>div.item.pid>input { width:60px; } // fieldset.draw div.output svg { margin-bottom:-4px; height:100%; width:100%; } fieldset.draw.trend div.output svg { background-color:#1b5b738c; } diff --git a/plugin/state.js b/plugin/state.js index 94f6a12e..3e1ffb77 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -74,7 +74,7 @@ Volcanos(chat.ONIMPORT, { }) Volcanos(chat.ONACTION, {list: [ "刷新界面", "刷新数据", "切换浮动", "切换全屏", "远程控制", "共享工具", "打开链接", "生成链接", "生成脚本", "生成图片", - ["视图", "操作", "专注", "项目", "预览", "输出", "状态"], + ["视图", "操作", "专注", "项目", "预览", "演示", "状态"], ["其它", "扩展参数", "保存参数", "清空参数", "复制数据", "下载数据", "清空数据", "删除工具"], ["调试", "查看文档", "查看脚本", "查看源码", "查看配置", "查看日志", "打包页面"], ], @@ -87,7 +87,7 @@ Volcanos(chat.ONACTION, {list: [ }) }, "项目": function(event, can) { can.onaction._view(event, can, function(sub) { sub.ui && sub.ui.project && can.onmotion.toggle(can, sub.ui.project) }) }, "预览": function(event, can) { can.onaction._view(event, can, function(sub) { sub.ui && sub.ui.project && can.onmotion.toggle(can, sub.ui.profile) }) }, - "输出": function(event, can) { can.onaction._view(event, can, function(sub) { sub.ui && sub.ui.project && can.onmotion.toggle(can, sub.ui.display) }) }, + "演示": function(event, can) { can.onaction._view(event, can, function(sub) { sub.ui && sub.ui.project && can.onmotion.toggle(can, sub.ui.display) }) }, "状态": function(event, can) { can.onaction._view(event, can, function(sub) { can.onmotion.toggle(can, can._status) }) }, _view: function(event, can, cb) { var sub = can.core.Value(can, chat._OUTPUTS_CURRENT); cb(sub), sub.onimport.layout(sub) }, _engine: function(event, can, button) { can.Update(event, [ctx.ACTION, button].concat(can.Input())) },