diff --git a/const.js b/const.js index 34fae2ca..c382427e 100644 --- a/const.js +++ b/const.js @@ -435,12 +435,15 @@ var icon = { "import": "bi bi-folder-plus", "export": "bi bi-floppy", "begin_time": "bi bi-clock-history", "end_time": "bi bi-clock-history", + scale: "bi bi-arrows-fullscreen", + tags: "bi bi-tags", version: "bi bi-tags", compile: "bi bi-tools", publish: "bi bi-send-check", upgrade: "bi bi-rocket-takeoff", install: "bi bi-cloud-download", runtime: "bi bi-info-square", + inspect: "bi bi-info-square", template: "bi bi-file-earmark-medical", reboot: "bi bi-bootstrap-reboot", restart: "bi bi-bootstrap-reboot", diff --git a/frame.js b/frame.js index 8e086ab2..06eea0d9 100644 --- a/frame.js +++ b/frame.js @@ -293,8 +293,9 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { if (msg.Option(ice.MSG_HANDLE) != ice.TRUE && cmds && cmds[0] == ctx.ACTION) { if (msg.RunAction(event, can.sub, cmds)) { return } } if (msg.RunAction(event, can, cmds)) { return } if (can.misc.Inputs(can, msg, cmds, cb, meta)) { return } var p = can._history[can._history.length-1]; p && p._opts && can.request(event, p._opts) - return can.onengine._plugin(event, can, msg, can, cmds, cb) || can.run(event, cmds, function(msg) { if (can.base.isFunc(cb)) { return cb(msg) } if (silent) { return } - var _can = can._fields? can.sup: can; if (_can == (msg._can._fields? msg._can.sup: msg._can)) { if (can.core.CallFunc([_can, chat.ONIMPORT, ice.MSG_PROCESS], {can: _can, msg: msg})) { return } } + return can.onengine._plugin(event, can, msg, can, cmds, cb) || can.run(event, cmds, function(msg) { var _can = can._fields? can.sup: can + if (can.base.isFunc(cb) && !cb(msg)) { return } if (silent) { return } + if (_can == (msg._can._fields? msg._can.sup: msg._can)) { if (can.core.CallFunc([_can, chat.ONIMPORT, ice.MSG_PROCESS], {can: _can, msg: msg})) { return } } if (cmds && cmds[0] == ctx.ACTION) { if (can.base.isIn(cmds[1], mdb.CREATE, mdb.INSERT, mdb.PRUNES, mdb.EXPORT, mdb.IMPORT, "exports", "imports", nfs.TRASH) || msg.Length() == 0 && !msg.Result()) { return can._toast || can.user.toastSuccess(can, cmds[1], ice.SUCCESS), can.Update() } } diff --git a/index.css b/index.css index 6dad3ef8..efd518b2 100644 --- a/index.css +++ b/index.css @@ -444,7 +444,8 @@ div.plug>legend:hover { background-color:var(--hover-bg-color); } div.plug>legend.select { background-color:var(--plugin-bg-color); border-left:var(--box-notice3); } div.complete>table { background-color:var(--plugin-bg-color); } fieldset>form.option>div.item.text.cmd>input { background-color:var(--code-bg-color); color:var(--code-fg-color); } -fieldset>div.action div.item.select.cmds { border-bottom:var(--box-notice); } +fieldset>div.action div.item.cmds.select { background:var(--output-bg-color); border-top:var(--box-notice3); } +fieldset>div.action div.item.cmds:hover { background:var(--output-bg-color); } fieldset>div.output { background-color:var(--output-bg-color); } fieldset.panel:not(.main) { background-color:var(--panel-bg-color); color:var(--panel-fg-color); } fieldset.panel:not(.main)>div.output { background-color:var(--panel-output-bg-color); color:var(--panel-output-fg-color); } @@ -560,7 +561,9 @@ fieldset>form.option>div.item.textarea { height:var(--textarea-height); width:10 fieldset>div.action div.item.filter input { padding-left:24px; } fieldset>div.action div.item { height:var(--action-height); } fieldset>div.action>div.tabs { font-style:italic; padding:var(--input-padding) var(--button-padding); margin-left:var(--input-margin); height:var(--action-height); } -fieldset>div.action>div.cmds { font-style:italic; padding:var(--input-padding) var(--button-padding); margin-left:var(--input-margin); height:var(--action-height); } +fieldset>div.action>div.cmds { font-style:italic; padding:var(--input-padding) var(--button-padding); margin-left:var(--input-margin); height:var(--action-height); + min-width:60px; text-align:center; justify-content:center; align-items:center; +} fieldset>div.output>div.code { font-size:var(--code-font-size); } fieldset>div.output { width:100%; } fieldset>div.status { width:100%; } fieldset>div.status { font-family:var(--status-font-family); font-style:italic; font-size:var(--status-font-size); line-height:20px; max-height:var(--action-height); } @@ -753,7 +756,7 @@ body.print fieldset.draw div.output div.content svg { background-color:lightgray fieldset.Action>div.output>fieldset.ssh.cloud.profile { box-shadow:none; background-color:transparent; } fieldset.Action>div.output>fieldset.ssh.cloud.profile:hover { box-shadow:none; } fieldset.Action>div.output>fieldset.ssh.cloud.profile>div.output { background-color:transparent; } -fieldset.web.code.docker.studio>div.output>fieldset { margin:0; } +/* fieldset.web.code.docker.studio>div.output>fieldset { margin:0; } */ fieldset.web.code.docker.studio>div.output>fieldset>legend { display:none; } fieldset.web.code.docker.studio>div.output>fieldset>form.option>div:first-child { margin-left:var(--button-margin); } fieldset.web.chat.macos.desktop.cmd>div.output>fieldset.macos.dock { z-index:11; } @@ -852,6 +855,7 @@ fieldset.studio>div.output>fieldset>form.option div.icon.delete { display:none; fieldset.studio>div.output>fieldset>form.option div.icon:nth-child(2) { margin-left:var(--plugin-margin); } fieldset.studio>div.output>fieldset>div.output>table.content { width:100%; } fieldset.studio>div.output>fieldset:not(.select) { display:none; } +fieldset.studio>div.output>fieldset { margin:var(--plugin-margin); } fieldset.plug>div.output table.content { width:100%; } fieldset.plug.dream.zone>div.output>div.item { display:flex; padding:var(--input-padding); margin:var(--input-margin); } fieldset.plug.dream.zone>div.output>div.item>img { margin-right:var(--input-margin); } diff --git a/lib/misc.js b/lib/misc.js index 85156a3e..822787bc 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -101,15 +101,15 @@ Volcanos("misc", { } var input = can.user.input(event, can, meta.feature[cmds[1]], function(args) { can.page.ClassList.add(can, input._target, html.PROCESS) - can.Update(can.request(event, {_handle: ice.TRUE}, msg, can.Option()), cmds.slice(0, 2).concat(args), cb||function(msg) { + can.Update(can.request(event, {_handle: ice.TRUE}, msg, can.Option()), cmds.slice(0, 2).concat(args), function(msg) { can.page.ClassList.del(can, input._target, html.PROCESS) if (msg.IsErr()) { can.onappend.style(can, "warn", can.user.toastFailure(can, msg.Result())._target) input.focus() } else { + if (cb && cb(msg)) { return } input.cancel() - var sup = can._fields? can.sup: can; if (sup.onimport._process(sup, msg)) { return } - can.Update() + return true } }); return true }); return true diff --git a/plugin/story/studio.js b/plugin/story/studio.js index 43b5c673..55b648ae 100644 --- a/plugin/story/studio.js +++ b/plugin/story/studio.js @@ -1,22 +1,20 @@ Volcanos(chat.ONIMPORT, { _init: function(can, msg, cb) { - can.isCmdMode() && can.sup.onimport.size(can.sup, can.page.height(), can.page.width()) - can.onmotion.clear(can), can.onmotion.hidden(can, can._status), cb && cb(msg) - can.onimport._tabs(can, msg) + // can.isCmdMode() && can.sup.onimport.size(can.sup, can.page.height(), can.page.width()) + can.onmotion.hidden(can, can._status), cb && cb(msg), can.onimport._tabs(can, msg) }, - _tabs: function(can, msg) { - can.onappend.style(can, web.STUDIO), can.onmotion.clear(can, can._action) + _tabs: function(can, msg) { can.onappend.style(can, web.STUDIO), can.onmotion.clear(can, can._action) + var margin = html.PLUGIN_MARGIN*2 msg.Table(function(value, index) { value.nick = can.user.trans(can, value.index.split(nfs.PT).pop(), value.help) var target = can.onimport.item(can, value, function() { if (value._plugin) { return can.onmotion.select(can, can._output, html.FIELDSET, value._plugin._target) } can.onappend.plugin(can, value, function(sub) { value._plugin = sub can.onmotion.select(can, can._output, html.FIELDSET, value._plugin._target) - sub.onexport.output = function() { sub.onimport.size(sub, can.ConfHeight()-20, can.ConfWidth()-20) } + sub.onexport.output = function() { sub.onimport.size(sub, can.ConfHeight()-margin, can.ConfWidth()-margin, false) } target.oncontextmenu = function(event) { sub._legend.onclick(event) }, can.onmotion.hidden(can, sub._legend) }, can._output) }, null, can._action); index == 0 && target.click(), can.onappend.style(can, "cmds", target) - }) - can.onappend._action(can, null, null, null, true) + }), can.onappend._action(can, null, null, null, true) }, _full: function(can, msg) { can.ui = can.onappend.layout(can), can.page.style(can, can.ui.content, html.PADDING, 10) @@ -24,10 +22,9 @@ Volcanos(chat.ONIMPORT, { var target = can.onimport.item(can, value, function(event) { if (can.onmotion.cache(can, function() { return value.index }, can.ui.content)) { return } can.onappend.plugin(can, value, function(sub) { - sub.onexport.output = function() { sub.onimport.size(sub, can.ConfHeight()-20, can.ConfWidth()-can.ui.project.offsetWidth-20) } + sub.onexport.output = function() { sub.onimport.size(sub, can.ConfHeight(), can.ConfWidth()-can.ui.project.offsetWidth) } }, can.ui.content) }, function() {}); index == 0 && target.click() }) }, - layout: function(can) { can.page.style(can, can._output, html.HEIGHT, can.ConfHeight(), html.WIDTH, can.ConfWidth()) }, })