diff --git a/page/index.css b/page/index.css index 719feebc..6024e3b1 100644 --- a/page/index.css +++ b/page/index.css @@ -1,5 +1,5 @@ body, fieldset, table, tr, th, td { padding:0; border:0; margin:0; } -body { background-color:black; color:cyan; font-size:16px; overflow:hidden; } +body { background-color:black; color:cyan; font-size:16px; } legend { background-color:cadetblue; color:white; padding:0 20px; } select { background-color:black; color:cyan; padding:0 10px; border:0; } textarea { background-color:cyan; width:400px; padding:5px; border:0; } @@ -25,7 +25,6 @@ input[type=button][name=remove] { background-color:red; } table.layout { border-spacing:0; } table.layout td { vertical-align:top; } -/* table.layout td.content div.toggle { background-color:#4682b46b; color:white; font-size:24px; position:absolute; z-index:10; } */ table.layout td.content div.toggle { background-color:#4682b46b; color:white; font-size:24px; position:absolute; } table.layout td.content div.toggle>div { display:table-cell; } table.layout td.content div.toggle.project { padding-top: 50px; height:100px; width:15px; top:20%; left:0px; border-top-right-radius:10px; border-bottom-right-radius:10px; } @@ -53,28 +52,26 @@ div.output div.project div.zone>div.action>div.item { float:right; clear:none; p div.output div.project div.zone>div.action>div.item input[type=text] { background-color:#ff000000; padding-left:10px; color:white; } fieldset.plugin { background-color:#061c3c9e; padding:10px; margin:10px; } -fieldset.float { background-color:#0e3369; position:absolute; } -/* fieldset.float { background-color:#0e3369b3; position:absolute; } */ -fieldset.full { background-color:#073947f2; padding:0; margin:0; left:0; top:0; overflow:auto; } -fieldset.story>legend { margin:10px 0; } -fieldset.plug>legend { float:left; margin-right:5px; } -fieldset.float>legend { float:left; margin-right:5px; } -body.white fieldset.float>div.status { color:white; } -fieldset.plugin.float>div.status { display:none; } -fieldset.full>legend { float:left; margin:0; margin-right:5px; } -fieldset>form.option input[type=button][name=close]{ display:none; } -fieldset.plugin div.status { border-top:1px solid darkcyan; } -fieldset.story div.status { border-top:1px solid darkcyan; } -fieldset.output>form.option { display:none; } -fieldset.output>div.action { display:none; } -fieldset.output div.status { display:none; } -fieldset.output div.toggle { display:none; } +fieldset.float { background-color:#0e3369; color:white; position:absolute; } +fieldset.full { background-color:#0e3369; color:white; padding:0; margin:0; left:0; top:0; overflow:auto; } +fieldset.story>legend { float:left; margin:0px; margin-right:5px; } +fieldset.float>legend { float:left; margin-right:5px; } +fieldset.full>legend { float:left; margin:0; margin-right:5px; } +fieldset.plug>legend { float:left; margin-right:5px; } + +fieldset>form.option input[type=button][name=close]{ display:none; } fieldset.float>form.option input[type=button][name=close]{ display:block; } fieldset.full>form.option input[type=button][name=close]{ display:block; } fieldset.plug>form.option input[type=button][name=close]{ display:block; } -fieldset.story>legend { float:left; margin:0px; margin-right:5px; } +fieldset.plugin>div.status { border-top:1px solid darkcyan; } +fieldset.story>div.status { border-top:1px solid darkcyan; } +fieldset.output>form.option { display:none; } +fieldset.output>div.action { display:none; } +fieldset.output>div.status { display:none; } +fieldset.output div.toggle { display:none; } + fieldset.plugin.word fieldset.story { margin-top:10px; } fieldset.story.full { margin-top:0px; } @@ -193,7 +190,8 @@ body.white table.content th { background-color:skyblue; } body.white fieldset.panel.Action { color:black; } body.white fieldset.panel.Action div.action { color:white; } body.white fieldset.plugin { background-color:#ffffffa1; } -body.white fieldset.full { background-color:#cce0f4eb; color:white; } +body.white fieldset.float { background-color:#0e3369; color:white; } +body.white fieldset.full { background-color:#0e3369; color:white; } /* white hover */ body.white legend:hover { background-color:skyblue; } @@ -344,6 +342,4 @@ fieldset.plugin.location>div.action input[type=text] { width:40px; } -fieldset.xterm>div.action>div.tabs:hover { background-color:black; } -fieldset.xterm>div.action>div.tabs.select { background-color:black; } fieldset.xterm div.toggle { display:none; } diff --git a/panel/action.css b/panel/action.css index 2a56a2f4..45927caa 100644 --- a/panel/action.css +++ b/panel/action.css @@ -3,53 +3,51 @@ fieldset.Action>div.action { background-color:#4682b46b; width:inherit; display: fieldset.Action>div.action div { font-size:1.1rem; padding:5px 20px; height:21px; float:left; cursor:pointer; } fieldset.Action>div.action div.select { background:#6495ed63; } fieldset.Action>div.action div:hover { background:#6495ed63; } -fieldset.Action.tabs>div.action { display:block; } -fieldset.Action.tabs>div.output>fieldset>legend { display:none; } -fieldset.Action.tabs>div.output fieldset.plugin { display:none; } -fieldset.Action.tabs>div.output fieldset.plugin.select { display:block; } -fieldset.Action.grid>div.output fieldset.plugin { overflow:auto; float:left; } -fieldset.Action.grid>div.output fieldset.plugin>div.output { overflow:auto; } +fieldset.Action.tabs>div.action { display:block; } +fieldset.Action.tabs>div.output { overflow:hidden; } +fieldset.Action.tabs>div.output>fieldset>legend { display:none; } +fieldset.Action.tabs>div.output>fieldset.plugin { display:none; } +fieldset.Action.tabs>div.output>fieldset.plugin.select { display:block; } + +fieldset.Action.tabview>div.output { overflow:hidden; } +fieldset.Action.tabview>div.output>fieldset>legend { display:none; } +fieldset.Action.tabview>div.output>fieldset.plugin { display:none; overflow:auto; margin:0; padding:0; } +fieldset.Action.tabview>div.output>fieldset.plugin.select { display:block; } +fieldset.Action.tabview>div.output>fieldset.plugin>form.option { display:none; } +fieldset.Action.tabview>div.output>fieldset.plugin>div.action { display:none; } +fieldset.Action.tabview>div.output>fieldset.plugin>div.output { overflow:auto; } +fieldset.Action.tabview>div.output>fieldset.plugin>div.status { display:none; } + +fieldset.Action.horizon>div.output>fieldset.plugin { float:left; overflow:auto; margin:0; padding:0; } +fieldset.Action.horizon>div.output>fieldset.plugin>legend { display:none; } +fieldset.Action.horizon>div.output>fieldset.plugin>form.option { display:none; } +fieldset.Action.horizon>div.output>fieldset.plugin>div.action { display:none; } +fieldset.Action.horizon>div.output>fieldset.plugin>div.output { overflow:auto; } +fieldset.Action.horizon>div.output>fieldset.plugin>div.status { display:none; } + +fieldset.Action.vertical>div.output>fieldset.plugin { float:left; overflow:auto; margin:0; padding:0; } +fieldset.Action.vertical>div.output>fieldset.plugin>legend { display:none; } +fieldset.Action.vertical>div.output>fieldset.plugin>form.option { display:none; } +fieldset.Action.vertical>div.output>fieldset.plugin>div.action { display:none; } +fieldset.Action.vertical>div.output>fieldset.plugin>div.output { overflow:auto; } +fieldset.Action.vertical>div.output>fieldset.plugin>div.status { display:none; } + +fieldset.Action.grid>div.output>fieldset.plugin { float:left; overflow:auto; } +fieldset.Action.grid>div.output>fieldset.plugin>div.output { overflow:auto; } +fieldset.Action.flow>div.output>fieldset.plugin { float:left; } +fieldset.Action.free>div.output>fieldset.plugin { position:absolute; } +fieldset.Action.free>div.output>fieldset.plugin.select { display:block; } + +fieldset.panel.cmd>div.output>fieldset.plugin { padding:0; margin:0; } +fieldset.panel.cmd>div.output>fieldset.plugin>legend { padding:0 10px; margin-right:3px; float:left; } fieldset.Header action>div.tabs { padding:0; margin-left:20px; display:contents; } fieldset.Header action>div.tabs:hover { background:none; } fieldset.Header div.tabs div.tabs { padding:5px 10px; } fieldset.Header div.tabs div.tabs:hover { background:#6495ed63; } -fieldset.Action>div.action div.tabview { font-size:1.1rem; padding:5px; height:21px; } -fieldset.Action>div.action div.tabview.select { background:#6495ed63; } -fieldset.Action>div.action div.tabview:hover { background:#6495ed63; } -fieldset.Action.tabview>div.output { overflow:hidden; } -fieldset.Action.tabs>div.output { overflow:hidden; } fieldset.iframe>div.output { overflow:hidden; } -fieldset.Action.tabview>div.output>fieldset>legend { display:none; } -fieldset.Action.tabview>div.output fieldset.plugin { display:none; overflow:auto; padding:0; margin:0; } -fieldset.Action.tabview>div.output fieldset.plugin.select { display:block; } -fieldset.Action.tabview>div.output fieldset.plugin>form.option { display:none; } -fieldset.Action.tabview>div.output fieldset.plugin>div.action { display:none; } -fieldset.Action.tabview>div.output fieldset.plugin>div.status { display:none; } - -fieldset.Action.horizon>div.output fieldset.plugin { overflow:auto; float:left; padding:0; margin:0; } -fieldset.Action.horizon>div.output fieldset.plugin>legend { display:none; } -fieldset.Action.horizon>div.output fieldset.plugin>form.option { display:none; } -fieldset.Action.horizon>div.output fieldset.plugin>div.action { display:none; } -fieldset.Action.horizon>div.output fieldset.plugin>div.output { overflow:auto; } -fieldset.Action.horizon>div.output fieldset.plugin>div.status { display:none; } - -fieldset.Action.vertical>div.output fieldset.plugin { overflow:auto; float:left; padding:0; margin:0; } -fieldset.Action.vertical>div.output fieldset.plugin>legend { display:none; } -fieldset.Action.vertical>div.output fieldset.plugin>form.option { display:none; } -fieldset.Action.vertical>div.output fieldset.plugin>div.action { display:none; } -fieldset.Action.vertical>div.output fieldset.plugin>div.output { overflow:auto; } -fieldset.Action.vertical>div.output fieldset.plugin>div.status { display:none; } - - -fieldset.Action.free>div.output fieldset.plugin { position:absolute; } -fieldset.Action.free>div.output fieldset.plugin.select { display:block; } -fieldset.Action.flow>div.output fieldset.plugin { float:left; } - -fieldset.panel.cmd>div.output>fieldset.plugin { padding:0; margin:0; } -fieldset.panel.cmd>div.output>fieldset.plugin>legend { padding:0 10px; margin-right:3px; float:left; } fieldset.Action>div.project.toggle { background-color:cornsilk; opacity:0.4; color:teal; font-size: 28px; padding-top: 50px; height: 100px; width:20px; position: fixed; top: 30%; diff --git a/panel/action.js b/panel/action.js index 25dec454..fb9c3fab 100644 --- a/panel/action.js +++ b/panel/action.js @@ -10,6 +10,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg) { }, _plugin: function(can, river, storm, sub, meta) { sub._target._meta = meta meta.id && (sub._option.dataset = sub._option.dataset||{}, sub._option.dataset.id = meta.id) + can.page.style(can, sub._output, html.MAX_WIDTH, can.ConfWidth()) sub.run = function(event, cmds, cb) { return can.run(sub.request(event), can.misc.concat(can, [river, storm, meta.id||meta.index], cmds), cb) @@ -172,8 +173,9 @@ Volcanos(chat.ONACTION, {help: "操作数据", _init: function(can, cb, target) }) }, onaction_cmd: function(can, msg) { can.Mode("cmd") + can.Conf(html.MARGIN_Y, 2*html.ACTION_HEIGHT), can.Conf(html.MARGIN_X, 0) + can.ConfHeight(can._root._height-can.Conf(html.MARGIN_Y)), can.ConfWidth(can._root._width) can.page.style(can, can._target, html.HEIGHT, can._root._height, html.WIDTH, can._root._width) - can.ConfHeight(can._root._height-2*html.ACTION_HEIGHT), can.ConfWidth(can._root._width) can.page.ClassList.add(can, can._root._target, "simple") can.page.ClassList.add(can, can._target, "cmd") }, diff --git a/panel/header.css b/panel/header.css index 3cafb84a..0d1fc7e6 100644 --- a/panel/header.css +++ b/panel/header.css @@ -1,4 +1,4 @@ -fieldset.Header { font-size:1.1rem; height:31px; overflow:auto; padding:0 5px; z-index:10; } +fieldset.Header { font-size:1.1rem; padding:0 5px; height:31px; overflow:auto; z-index:10; } fieldset.Header>div.output { overflow:hidden; } fieldset.Header>div.output div { padding:5px; height:21px; float:left; cursor:pointer; } fieldset.Header>div.output div:hover { background-color:#2e515f; } diff --git a/plugin/local/chat/iframe.js b/plugin/local/chat/iframe.js index 8a7b5c85..2d7a3df1 100644 --- a/plugin/local/chat/iframe.js +++ b/plugin/local/chat/iframe.js @@ -1,9 +1,8 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb) { can.current = msg.TableDetail(), can.onimport.layout(can), can.base.isFunc(cb) && cb(msg) }, - layout: function(can) { var item = can.current; can.onmotion.clear(can) + layout: function(can) { var item = can.current; can.onmotion.clear(can), can.onimport.title(can, item.name||item.link) can.page.Append(can, can._output, [{type: html.IFRAME, src: item.link, height: can.ConfHeight(), width: can.ConfWidth(), style: {border: 0}}]) - can.onimport.title(can, item.name||item.link) }, }) Volcanos(chat.ONACTION, {help: "操作数据", diff --git a/plugin/local/chat/trans.js b/plugin/local/chat/trans.js index 97020aa5..d2f4ec9d 100644 --- a/plugin/local/chat/trans.js +++ b/plugin/local/chat/trans.js @@ -2,27 +2,26 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar can.onmotion.clear(can) can.from = can.onimport._plugin(can, nfs.DIR, html.LEFT, "from", "to") can.to = can.onimport._plugin(can, nfs.DIR, html.RIGHT, "to", "from") - can.onimport._plugin(can, nfs.TRASH, html.LEFT, "from") - can.onimport._plugin(can, nfs.TRASH, html.RIGHT, "to") + can.onmotion.delay(can, function() { + can.from_trash = can.onimport._plugin(can, nfs.TRASH, html.LEFT, "from") + can.to_trash = can.onimport._plugin(can, nfs.TRASH, html.RIGHT, "to") + }, 100) }, _plugin: function(can, index, pos, from, to) { return can.onappend.plugin(can, {type: chat.STORY, index: index}, function(sub) { + sub.onimport.size(sub, can.ConfHeight()/2, can.ConfWidth()/2, false) can.page.style(can, sub._target, {float: pos, clear: pos}) - sub.ConfWidth(can.ConfWidth()/2) sub._legend.innerHTML = can.Option(from)+ice.SP+index - can.page.style(can, sub._output, "max-width", can.ConfWidth()/2) sub.run = function(event, cmds, cb) { if (can.onaction[cmds[1]]) { return can.onaction[cmds[1]](can, from, to, event, cmds, cb) } - - var msg = sub.request(event, {_pod: can.Option(from)}) - can.runActionCommand(event, index, cmds, cb) + can.runActionCommand(sub.request(event, {_pod: can.Option(from)}), index, cmds, cb) + if (!to) { can[from].Update() } else {} } }) }, }) -Volcanos(chat.ONACTION, {help: "导入数据", _init: function(can, msg, cb, target) { - }, +Volcanos(chat.ONACTION, {help: "操作数据", send: function(can, from, to, event, cmds, cb) { var _from = can[from], _to = can[to] var path = can.request(event).Option(nfs.PATH) var msg = can.request(event, {_handle: ice.TRUE, diff --git a/plugin/local/code/inner.css b/plugin/local/code/inner.css index 5237fd96..74c17915 100644 --- a/plugin/local/code/inner.css +++ b/plugin/local/code/inner.css @@ -28,6 +28,7 @@ body.black fieldset.inner>div.output div.content td.text span.datatype { color:l body.black fieldset.inner>div.output div.content td.text span.function { color:cyan; font-weight:bold; } fieldset.inner>div.output td.content iframe { border:0; } fieldset.inner>div.output td.profile iframe { border:0; } +fieldset.inner.float>div.status { display:none; } fieldset.inner>div.output td.content>div.tabs { display:none; } fieldset.inner>div.output td.content>div.path { display:none; } @@ -59,6 +60,8 @@ fieldset.Action>div.status { display:none; } body.white fieldset.inner>div.output div.content { color:black; } body.white fieldset.inner.float>div.output div.content { color:white; } body.black fieldset.inner.float>div.output div.content { color:white; } +body.white fieldset.inner.full>div.output div.content { color:white; } +body.black fieldset.inner.full>div.output div.content { color:white; } /* body.white fieldset.inner.float>div.output div.profile { color:black; } */ diff --git a/plugin/local/code/xterm.js b/plugin/local/code/xterm.js index b278b7a6..d8e2e260 100644 --- a/plugin/local/code/xterm.js +++ b/plugin/local/code/xterm.js @@ -36,7 +36,7 @@ Volcanos(chat.ONLAYOUT, {help: "界面布局", can._current && can._current._fit.fit(), can.onexport.term(can) }, cmd: function(can) { can._current && can.onimport._title(can, can._current._item.name), can.ConfWidth(can.ConfWidth()-10) - can.Option(mdb.HASH) && can.Option(mdb.HASH) == can.misc.Search(can, mdb.HASH)? can.sup.onaction.full({}, can.sup): can.onlayout._init(can) + // can.Option(mdb.HASH) && can.Option(mdb.HASH) == can.misc.Search(can, mdb.HASH)? can.sup.onaction.full({}, can.sup): can.onlayout._init(can) }, }) Volcanos(chat.ONACTION, {help: "操作数据", diff --git a/plugin/state.js b/plugin/state.js index f9022ffc..e78458ac 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -121,12 +121,13 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [ "切换浮动": function(event, can, button, sub) { can.onaction._switch(can, sub, "float", function() { can.ConfHeight(window.innerHeight/2), html.WIDTH, can.ConfWidth(window.innerWidth/2) - can.onmotion.move(can, can._target, {left: window.innerWidth/2, top: window.innerHeight/2}) - }, function() { can.page.style(can, can._target, html.LEFT, "", html.TOP, "") }) + can.getActionSize(function(left) { can.onmotion.move(can, can._target, {left: left||0, bottom: html.ACTION_HEIGHT}) }) + }, function() { can.page.style(can, can._target, html.LEFT, "", html.BOTTOM, "") }) }, "切换全屏": function(event, can, button, sub) { can.onaction._switch(can, sub, "full", function() { can.ConfWidth(window.innerWidth) - if (sub.isCmdMode()) { can.ConfHeight(window.innerHeight) } else { can.ConfHeight(window.innerHeight-html.ACTION_HEIGHT-can.onexport.statusHeight(can)-(can.user.isMobile? 2*html.ACTION_HEIGHT: 0)) } + can.page.style(can, can._target, html.LEFT, "", html.BOTTOM, "") + can.ConfHeight(window.innerHeight-html.ACTION_HEIGHT-can.onexport.statusHeight(can)-(can.user.isMobile? 2*html.ACTION_HEIGHT: 0)) }, function() {}) }, "共享工具": function(event, can) { var meta = can.Conf() diff --git a/plugin/table.js b/plugin/table.js index e6e08aee..579048e4 100644 --- a/plugin/table.js +++ b/plugin/table.js @@ -30,6 +30,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar title: function(can, title) { can._legend.innerHTML = title, can.sup && can.sup._tabs && (can.sup._tabs.innerHTML = title) can.sup && can.sup._header_tabs && (can.sup._header_tabs.innerHTML = title) + can.isCmdMode() && can.user.title(title) }, zone: function(can, list, target) { var color = [""] return can.page.Append(can, target, can.core.List(list, function(zone, index) { can.base.isString(zone) && (zone = {name: zone}); return zone && {view: html.ZONE+" "+zone.name, list: [