1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-11-24 17:46:35 +08:00
parent 1444daee71
commit 44461f941c
15 changed files with 164 additions and 182 deletions

View File

@ -257,9 +257,7 @@ var http = {
GET: "GET", PUT: "PUT", POST: "POST", DELETE: "DELETE",
Accept: "Accept", ContentType: "Content-Type", ApplicationJSON: "application/json", ApplicationFORM: "application/x-www-form-urlencoded",
}
var html = {
RIVER_MARGIN: 80,
PLUGIN_MARGIN: 10, PLUGIN_PADDING: 10, ACTION_MARGIN: 200, ACTION_HEIGHT: 32, STATUS_HEIGHT: 32,
var html = {RIVER_MARGIN: 80, PLUGIN_MARGIN: 10, PLUGIN_PADDING: 10, ACTION_MARGIN: 200, ACTION_HEIGHT: 32, STATUS_HEIGHT: 32,
FIELDSET: "fieldset", LEGEND: "legend", OPTION: "option", ACTION: "action", OUTPUT: "output", STATUS: "status",
OPTION_ARGS: "select.args,input.args,textarea.args", INPUT_ARGS: "input.args,textarea.args", INPUT_BUTTON: "input[type=button]", INPUT_FILE: "input[type=file]",
FORM_OPTION: "form.option", DIV_ACTION: "div.action", DIV_OUTPUT: "div.output", DIV_STATUS: "div.status",
@ -315,8 +313,7 @@ var html = {
IMAGE_PNG: "image/png", VIDEO_WEBM: "video/webm",
}
var icon = {
SEARCH: "bi bi-search", TERMINAL: "bi bi-terminal",
CHEVRON_DOWN: "bi bi-chevron-down",
CHEVRON_DOWN: "bi bi-chevron-down", SEARCH: "bi bi-search", TERMINAL: "bi bi-terminal",
}
var svg = {
GROUP: "group", PID: "pid", GRID: "grid",

View File

@ -342,7 +342,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
can.onappend.style(can, html.SELECT, item)
}
})
}, _init: function(target) { can.page.style(can, target, html.WIDTH, (select.offsetWidth||80)+10), can.onappend.style(can, html.HIDE, select) }}, {icon: mdb.SELECT}])
}, _init: function(target) { can.page.style(can, target, html.WIDTH, (select.offsetWidth||80)+30), can.onappend.style(can, html.HIDE, select) }}, {icon: mdb.SELECT}])
},
table: function(can, msg, cb, target, keys) { if (!msg || msg.Length() == 0) { return } var meta = can.base.Obj(msg.Option(mdb.META))
if (can.user.isMobile) { can.base.toLast(msg.append, mdb.TIME) } can.base.toLast(msg.append, web.LINK), can.base.toLast(msg.append, ctx.ACTION)
@ -489,6 +489,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}), can.core.List(list, function(item) { if (can.base.isArray(item)) { layout(type == FLOW? FLEX: FLOW, item, height, width) } }) }
ui.profile && can.onmotion.hidden(can, ui.profile), ui.display && can.onmotion.hidden(can, ui.display)
if (can.onimport.filter) { ui.filter = can.onimport.filter(can, ui.project) }
ui.project && can.user.isMobile && can.onmotion.hidden(can, ui.project)
ui.layout = function(height, width, delay, cb) { can.onmotion.delay(can, function() { defer = [], layout(type, ui.list, height, width), defer.forEach(function(cb) { cb() }), cb && cb(content_height, content_width) }, delay||0) }; return ui
},
tabview: function(can, meta, list, target) { var ui = can.page.Append(can, target, [html.ACTION, html.OUTPUT])

156
index.css
View File

@ -1,10 +1,10 @@
body {
--body-bg-color:black; --body-fg-color:silver;
--danger-bg-color:red; --danger-fg-color:var(--hover-fg-color);
--notice-bg-color:blue; --notice-fg-color:var(--hover-fg-color);
--create-bg-color:var(--notice-bg-color); --create-fg-color:var(--hover-fg-color);
--danger-bg-color:red; --danger-fg-color:var(--notice-fg-color);
--notice-bg-color:blue; --notice-fg-color:white;
--create-bg-color:var(--notice-bg-color); --create-fg-color:var(--notice-fg-color);
--progress-bg-color:red; --disable-fg-color:gray;
--hover-bg-color:#5066b945; --hover-fg-color:white;
--hover-bg-color:#5066b945; --hover-fg-color:var(--notice-fg-color);
--box-border:#404141 solid 1px; --box-shadow:var(--body-fg-color) 2px 2px 8px; --box-notice:var(--notice-bg-color) solid 1px;
--plugin-bg-color:var(--body-bg-color); --plugin-fg-color:var(--body-fg-color); --plugin-border-color:var(--box-border);
@ -14,8 +14,8 @@ body {
--th-bg-color:var(--plugin-bg-color); --th-fg-color:var(--plugin-fg-color);
--tr-hover-bg-color:var(--hover-bg-color); --td-hover-bg-color:var(--hover-bg-color);
--panel-hover-bg-color:var(--hover-bg-color); --panel-hover-fg-color:var(--hover-fg-color);
--panel-output-bg-color:var(--panel-bg-color); --panel-output-fg-color:var(--panel-fg-color);
--panel-input-bg-color:var(--panel-bg-color); --panel-input-fg-color:var(--panel-fg-color);
--panel-output-bg-color:var(--panel-bg-color); --panel-output-fg-color:var(--panel-fg-color);
--panel-input-bg-color:var(--panel-bg-color); --panel-input-fg-color:var(--panel-fg-color);
--panel-bg-color:var(--plugin-bg-color); --panel-fg-color:var(--plugin-fg-color);
--float-bg-color:var(--plugin-bg-color); --float-fg-color:var(--plugin-fg-color);
--carte-bg-color:var(--plugin-bg-color);
@ -24,11 +24,13 @@ body {
--code-comment:green; --code-keyword:royalblue;
--code-function:lightgreen; --code-constant:gray; --code-string:orange;
--code-object:silver; --code-datatype:lavender; --code-package:blue;
--code-font-family:monospace; --svg-stroke-width:1;
--code-font-size:14px; --svg-font-size:24px; --status-font-size:12px;
--body-font-size:16px; --legend-font-size:20px;
--code-font-family:monospace;
--legend-padding:20px; --title-margin:var(--legend-padding); --river-margin:80px;
--body-font-size:16px; --legend-font-size:20px; --icon-font-size:20px;
--code-font-size:14px; --code-line-height:20px; --code-tabs-height:48px;
--svg-font-size:24px; --svg-stroke-width:1; --status-font-size:12px;
--legend-padding:20px; --title-margin:var(--legend-padding); --river-margin:80px;
--textarea-height:96px; --qrcode-height:320px; --iframe-height:420px;
--action-height:32px; --status-height:var(--action-height); --footer-height:var(--action-height); --header-height:48px;
--project-width:230px; --river-width:var(--project-width); --input-width:120px; --button-width:60px;
@ -39,6 +41,7 @@ body {
body.width1 { /* 320-640 手机竖屏 */
--footer-height:60px; --input-width:80px;
--river-margin:0; --plugin-margin:0; --button-margin:5px;
--project-width:120px; --river-width:280px;;
--svg-font-size:13px;
}
body.width2 { /* 640-960 手机横屏 平板竖屏 笔记本调试 */
@ -54,6 +57,7 @@ body.width5 { /* 1600-1920 */
}
body.width6 { /* 1920-2240 显示器 */
--river-width:280px; --input-width:180px; --plugin-padding:20px;
--code-line-height:26px; --code-font-size:18px;
}
body.windows { --code-font-family:"Courier New"; }
@ -62,14 +66,8 @@ body.windows { --code-font-family:"Courier New"; }
legend { padding:0 var(--legend-padding); }
select { padding:0 var(--button-padding); }
input:not([type=file]) { padding:0 var(--button-padding); }
input:not([type=button]) { padding:0 var(--input-padding); width:var(--input-width); border-radius:0; outline:none; }
body:not(.mobile) input[name=path] { width:var(--project-width); }
input[name=line] { width:var(--button-width) !important; }
input[name=limit] { width:var(--button-width); }
input[name=offend] { width:var(--button-width); }
input[name=id] { width:var(--button-width); }
input[name=url] { width:var(--river-width); }
table.kcontent.full { width:100%; }
input:not([type=button]) { padding:0 var(--input-padding); border-radius:0; outline:none; }
table.content.full { width:100%; }
table.content thead { position:sticky; top:2px; }
table.content tr.offline { color:var(--disable-fg-color); }
table.content tr.offline a { color:var(--disable-fg-color); }
@ -139,7 +137,7 @@ body>div.toast div.action { width:100%; display:block; }
body>div.toast div.action>div.item { float:right; }
body>div.carte { padding:0; }
body>div.carte input[name=filter] { margin:var(--input-margin); width:calc(100% - 10px); position:sticky; top:var(--input-margin); }
body>div.carte div.item { white-space:pre; padding:var(--input-padding) var(--button-padding); }
body>div.carte div.item { white-space:pre; padding:var(--button-padding); }
body>div.carte div.item span.icon.next { float:right; line-height:22px; height:22px; }
body>div.carte.select.float>div.item { text-align:center; }
@ -173,9 +171,9 @@ body>div.input input[name=cancel] { border:var(--danger-bg-color) solid 1px; }
body>div.input input[name=submit] { border:var(--notice-bg-color) solid 1px; }
body>div.input input[name=submit]:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
body>div.input input[name=cancel]:hover { background-color:var(--danger-bg-color); color:var(--danger-fg-color); }
body>div.input div.action { padding:0 var(--button-padding); width:100%; position:sticky; bottom:0; }
body>div.input div.action { padding:0 var(--table-padding); width:100%; position:sticky; bottom:0; flex-direction:row-reverse; }
body>div.input div.action>div.item { margin-left:var(--button-margin); float:right; }
body>div.input div.action>div.item>input[type=button] { width:110px; }
body>div.input div.action>div.item>input[type=button] { width:112px; }
body>div.input.login { box-shadow:unset; }
body>div.input.login>div.action { display:flex; align-items:center; justify-content:center; border-bottom:var(--box-border); }
body>div.input.login>div.action>div.tabs { padding:var(--button-padding); }
@ -227,58 +225,65 @@ body div.path { font-family:var(--code-font-family); }
body div.carte { font-family:var(--code-font-family); }
/* icon */
fieldset>legend>i { margin-right:var(--input-margin); }
form.option div.icon, form.option span.icon { font-size:20px; line-height:var(--action-height); padding:0 var(--input-padding); margin:0; height:var(--action-height); }
form.option div.icon.refresh { font-size:28px; line-height:28px; }
form.option div.icon.goback { font-size:28px; line-height:28px; }
form.option div.icon.next { font-size:18px; }
form.option div.icon.prev { font-size:18px; }
form.option>div.icons>i { font-size:21px; line-height:var(--action-height); padding:var(--input-padding); }
form.option div.icons.prunes>span.icon { padding-top:1px; display:inline-block; }
div.action div.icon, div.action>div.item:not(.tabs)>span.icon { font-size:20px; line-height:var(--action-height); padding:0 var(--input-padding); margin:0; height:var(--action-height); display:inline-block; }
div.action>div.item.icons>i { font-size:21px; line-height:var(--action-height); padding:var(--input-padding); }
div.action>div.item.icons.create>span.icon { font-size:30px; line-height:28px; }
div.action>div.item.icons.insert>span.icon { font-size:30px; line-height:28px; }
div.action>div.item.icons.start>span.icon { font-size:30px; line-height:28px; }
div.action>div.item.icons.refresh>span.icon { font-size:30px; line-height:28px; }
div.action>div.item.icons.prunes>span.icon { padding-top:2px; display:inline-block; }
div.item.select { position:relative; }
div.item.select>span.icon { position:absolute; right:0; visibility:hidden; }
div.item.select:hover>span.icon { visibility:visible; }
div.item.text { position:relative; }
div.item.text.will input { border:var(--box-notice); }
div.item.text>span.icon { position:absolute; right:0; visibility:hidden; }
div.item>i:first-child { margin-right:var(--button-margin); height:var(--action-height); }
form.option>div.item.icon { position:relative; height:var(--action-height); overflow:hidden; }
form.option>div.item.icon { font-size:var(--icon-font-size); padding:0 var(--input-padding); }
form.option>div.item.icon.refresh { font-size:28px; margin-top:-3px; }
form.option>div.item.icon.goback { font-size:28px; margin-top:-3px; }
form.option>div.item.icon.play { font-size:16px; }
div.item.text { position:relative; display:flex; align-items:center; }
div.item.text>input { width:var(--input-width); height:var(--action-height); }
div.item.text.id>input { width:var(--button-width); }
div.item.text.url>input { width:var(--river-width); }
div.item.text.path>input { width:var(--project-width); }
div.item.text.line>input { width:var(--button-width) !important; }
div.item.text.limit>input { width:var(--button-width); }
div.item.text.offend>input { width:var(--button-width); }
div.item.text>i:first-child { position:absolute; padding:var(--input-padding); }
div.item.text>span.icon { font-size:var(--icon-font-size); padding:0 var(--input-padding); position:absolute; right:0; visibility:hidden; }
div.item.text:hover>span.icon { visibility:visible; }
div.item.button>span.icon.create { font-size:var(--action-height); line-height:28px; display:block; }
div.item.button>span.icon.insert { font-size:var(--action-height); line-height:28px; display:block; }
div.tabs span.icon { font-style:normal; line-height:20px; padding:0 var(--input-padding); visibility:hidden; }
div.tabs>div.select>span.icon { visibility:visible; }
div.tabs>div:hover>span.icon { visibility:visible; }
div.item.button { position:relative; display:flex; align-items:center; height:var(--action-height); }
div.item.button>span.icon { font-size:var(--icon-font-size); padding:0 var(--input-padding); position:absolute; right:0; visibility:hidden; }
div.item.button.select:hover>span.icon { visibility:visible; }
div.item.button.create>span.icon { font-size:30px; margin-top:-5px; }
div.item.button.insert>span.icon { font-size:30px; margin-top:-5px; }
div.tabs:not(.hide) { display:flex; align-items:center; }
div.tabs>span { font-style:italic; }
div.tabs>span.icon { font-size:var(--icon-font-size); font-style:normal; padding-left:var(--input-padding); visibility:hidden; }
div.tabs.select>span.icon { visibility:visible; }
div.tabs:hover>span.icon { visibility:visible; }
div.item>i:first-child { margin-right:var(--button-margin); }
div.project div.item>i:first-child { color:var(--panel-output-fg-color); }
div.project div.item.text:hover>i:first-child { color:var(--plugin-fg-color); }
fieldset.panel>div.action>div.button>span.icon { display:none; }
/* form.option>div.icons>i { font-size:21px; } */
/* div.action>div.item.icons>i { font-size:21px; line-height:var(--action-height); padding:var(--input-padding); } */
/* div.action>div.item.icons.start>span.icon { font-size:30px; line-height:28px; } */
/* div.item.text.will input { border:var(--box-notice); } */
fieldset.plugin>legend { font-style:italic; font-weight:bold; }
fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon { display:none; }
fieldset.plugin.float>form.option>div.button.icons>input { display:none; }
fieldset.plugin.float>form.option>div.button.icons>span.icon { visibility:visible; }
fieldset.plugin.float>div.action>div.button.icons>input { display:none; }
fieldset.plugin.float>div.action>div.button.icons>span.icon { visibility:visible; position:unset; }
fieldset.plugin.full>form.option>div.button.icons>input { display:none; }
fieldset.plugin.full>form.option>div.button.icons>span.icon { visibility:visible; }
fieldset.plugin.full>div.action>div.button.icons>input { display:none; }
fieldset.plugin.full>div.action>div.button.icons>span.icon { visibility:visible; position:unset; }
fieldset.plugin.cmd>form.option>div.icon.delete { display:none; }
fieldset.plugin:not(.story):not(.float):not(.full):not(.cmd)>form.option>div.icon { display:none; }
fieldset.plugin:not(.story):not(.float):not(.full):not(.cmd)>form.option>div.button:not(.select)>span.icon { display:none; }
fieldset.plugin:not(.story):not(.float):not(.full):not(.cmd)>div.action>div.button:not(.select)>span.icon { display:none; }
fieldset.plugin.cmd>form.option>div.button.icons>input { display:none; }
fieldset.plugin.cmd>form.option>div.button.icons>span.icon { visibility:visible; position:unset; }
fieldset.plugin.cmd>div.action>div.button.icons>input { display:none; }
fieldset.plugin.cmd>div.action>div.button.icons>span.icon { visibility:visible; position:unset; }
fieldset.story>form.option>div.button.icons>input { display:none; }
fieldset.float>form.option>div.button.icons>input { display:none; }
fieldset.full>form.option>div.button.icons>input { display:none; }
fieldset.cmd>form.option>div.button.icons>input { display:none; }
fieldset.story>div.action>div.button.icons>input { display:none; }
fieldset.float>div.action>div.button.icons>input { display:none; }
fieldset.full>div.action>div.button.icons>input { display:none; }
fieldset.cmd>div.action>div.button.icons>input { display:none; }
fieldset.plug>form.option>div.icon:first-child { margin-left:var(--input-margin); }
fieldset.plug>form.option>div.button.icons>input { display:none; }
fieldset.plug>div.action>div.button.icons>input { display:none; }
fieldset.plug>div.action>div.button.icons>span.icon { visibility:visible; position:unset; }
fieldset:not(.float)>form.option>div.text>span.value { display:none; }
fieldset.float.plug>form.option>div.text>span.value { display:none; }
fieldset.float:not(.plug)>form.option>div.text>input { display:none; }
fieldset.float:not(.plug)>form.option>div.text>span { display:none; }
fieldset.float:not(.plug)>form.option>div.text>span.value { white-space:pre; padding:7px; height:var(--action-height); max-width:200px; display:block; overflow:auto; }
fieldset.float:not(.plug)>form.option>div.text { box-shadow:none; }
body.windows form.option>div.icon { font-size:21px; line-height:var(--action-height); }
fieldset.float:not(.plug)>form.option>div.text>span.icon { display:none; }
fieldset>form.option>div.text>span.value { white-space:pre; padding:var(--input-padding); max-width:200px; height:var(--action-height); overflow:auto; }
body.mobile:not(.landscape) fieldset.float>form.option>div.text>span.value { display:none; }
body.windows form.option>div.icon { font-size:21px; line-height:var(--action-height); }
/* svg */
svg text { font-size:var(--svg-font-size); font-family:var(--code-font-family); stroke:var(--body-fg-color); fill:var(--body-fg-color); cursor:pointer; }
svg text.offline { stroke:var(--disable-fg-color); fill:var(--disable-fg-color); }
@ -304,17 +309,18 @@ div.project div.list { margin-left:var(--button-margin); clear:both; }
div.project div.list fieldset { position:static; }
div.project div.item { white-space:pre; line-height:24px; padding:0 var(--button-margin); }
div.project div.item img { height:var(--action-height); width:var(--action-height); }
div.project div.item.filter { padding:0; }
div.project div.item.filter>i:first-child { position:absolute; padding:var(--input-padding); }
div.project div.item.filter>input { padding-left:var(--button-padding); width:100% !important; }
div.project div.item.filter>span { padding:var(--input-padding); }
div.project div.item.search { width:100%; position:relative; }
div.project div.item.search>i:first-child { position:absolute; padding:var(--input-padding); }
div.project div.item.search>input { padding-left:var(--button-padding); width:100% !important; }
div.project div.item.search>span { right:var(--button-margin); }
div.project div.item.filter { padding:0; width:100%; }
div.project div.item.filter>input { width:100%; padding:0 25px; }
div.project div.item.search { padding:0; width:100%; }
div.project div.item.search>input { width:100%; padding:0 25px; }
div.project div.item>div.name { padding-left:var(--button-padding); }
div.project div.zone>div.item { text-align:center; padding:3px; }
div.project div.zone>div.item>div.icon { margin-left:var(--input-margin); float:right; }
div.project div.zone>div.item { text-align:center; padding:var(--input-padding); display:flex; align-items:center; }
div.project div.zone>div.item span:first-child { flex-grow:1; }
div.project div.zone>div.item span:first-child:hover { background-color:var(--hover-bg-color); }
div.project>div.zone>div.item span:first-child { font-style:italic; font-weight:bold; line-height:var(--action-height); }
div.project div.zone>div.item span.icon { font-size:22px; letter-spacing:0; padding:0 var(--input-padding); display:none; }
div.project div.zone>div.item span.icon.refresh { margin-top:-2px; }
div.project div.zone:hover>div.item span.icon { display:block; }
div.project div.zone>div.list>div.zone>div.item { text-align:left; padding-left:var(--button-padding); transition:all .5s; }
div.project div.zone>div.list>div.zone>div.item:hover { margin-left:var(--button-margin); transition:all .3s; }
div.project div.expand { margin-right:var(--input-margin); float:left; transition:all .5s; }
@ -355,7 +361,7 @@ fieldset.panel>legend, fieldset.panel>div.status { display:none; }
fieldset.output>legend, fieldset.output>form.option, fieldset.output>div.action, fieldset.output>div.status, fieldset.output>div.item { display:none; }
fieldset>form.option, fieldset>div.action { display:contents; } form.option.hide, div.action.hide, .hide, .hidden { display:none; }
div.action, div.output, div.status, div.project, div.content, div.profile, div.display, table.content, table.content td, div.list, div.code, div.story, div.float, fieldset.float { overflow:auto; }
legend, form.option, form.option>div.item, div.action, div.action>div.item, div.action>div.tabs, fieldset>div.status>div.item { float:left; }
legend, form.option, form.option>div.item, div.action, div.action>div.item, div.action>div.tabs, fieldset>div.status>div.item { float:left; display:flex; align-items:center; }
fieldset.story, fieldset>div.output, fieldset>div.status, div.output>div.project div.item, div.content:not(.item), div.code, div.story[data-type=spark] { clear:both; }
fieldset.story { position:sticky; left:0; }
fieldset.full { position:fixed; left:0; top:0; }
@ -388,7 +394,7 @@ input:not([type=button]):hover { border:var(--box-notice); }
input:not([type=button]):focus { border:var(--box-notice); }
input.select[type=button]:hover { border:var(--box-notice); }
input.select[type=button]:focus { border:var(--box-notice); }
input.select[type=button] { border:var(--input-border); padding:0 var(--input-padding); }
input.select[type=button] { border:var(--input-border); padding:0 var(--button-padding); }
input[type=button]:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
input[type=button].danger:hover { background-color:var(--danger-bg-color); color:var(--danger-fg-color); }
input[type=button].notice:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }

View File

@ -1,10 +1,14 @@
Volcanos("base", {
Int: function(val, def) { return parseInt(val)||def||0 },
Min: function(val, min, max) {
if (max < min) { max = min }
if (val == "max") { return max }
return val < min? min: val > max? max: val
},
Max: function(val, max) { return val > max? max: val },
Max: function(val, max, min) {
if (min > max) { min = max }
return val > max? max: val < min? min: val
},
Obj: function(val, def) {
try {
if (typeof val == code.STRING) { if (val == "") { return def } val = JSON.parse(val) }

View File

@ -269,16 +269,16 @@ Volcanos("page", {
width: function() { return window.innerWidth },
ismodkey: function(event) { return [code.META, code.ALT, code.CONTROL, code.SHIFT].indexOf(event.key) > -1 },
unicode: {
refresh: "↻", goback: "↺", start: "+",
create: "+", remove: "✕", insert: "+", delete: "✕",
prunes: "♻︎", prune: "♻︎",
refresh: "↻", goback: "↺", play: "▶", create: "+", insert: "+", prunes: "♻︎", prune: "♻︎",
select: "▿", remove: "✕", delete: "✕",
menu: "☰", open: "▾", close: "▸",
prev: "", next: "",
menu: "☰", play: "▸", prev: "", next: "",
push: "⇈", pull: "⇊", open: "▾", close: "▸",
select: "▿", inner: "..",
start: "+", // play: "▸",
back: "◀", reback: "▶",
push: "⇈", pull: "⇊",
lt: "", gt: "",
inner: "..",
},
inputs: function(can, list, type) { var _list = []; for (var i = 0; i < list.length; i++) { switch (list[i]) {
case "": _list.push(""); break

View File

@ -176,7 +176,8 @@ Volcanos("user", {
{view: html.OPTION, list: [{type: html.TABLE, list: can.core.List(form, function(item) {
item = can.base.isString(item)? {type: html.TEXT, name: item}: item.length > 0? {type: html.SELECT, name: item[0], values: item.slice(1)}: item
item.type = item.type||(item.values? html.SELECT: item.name == html.TEXT? html.TEXTAREA: html.TEXT), need[item.name] = item.need
item._init = function(target) { if (item.type == html.SELECT) { target.value = item.value||item.values[0]; return can.onmotion.delay(can, function() { can.onappend.select(can, target, item) }) }
item._init = function(target) {
// if (item.type == html.SELECT) { target.value = item.value||item.values[0]; return can.onmotion.delay(can, function() { can.onappend.select(can, target, item) }) }
if (item.name && item.name != ctx.ACTION) { target.value = item.value||msg.Option(item.name)||can.Option(item.name)||can.Status(item.name)||target.value||"" }
item.mode = chat.SIMPLE, can.onappend.figure(can, can.base.Copy({space: msg.Option(web.SPACE), run: function(event, cmds, cb) { var _msg = can.request(event, {_handle: ice.TRUE, action: msg.Option(html.ACTION)}, msg, can.Option())
can.page.Select(can, ui.table, html.OPTION_ARGS, function(item) { item.name && item.value && _msg.Option(item.name, item.value) })
@ -187,14 +188,12 @@ Volcanos("user", {
item.title = can.user.trans(can, item.title||item.placeholder||item.name, null, html.INPUT)
return {view: [[item.name, item.type, item.action], html.TR], list: [
{type: html.TD, list: [{text: [can.user.trans(can, item.name||"", item._trans, html.INPUT), html.LABEL]}]}, {type: html.TD, list: [{text: item.need == "must"? "*": "", style: {color: cli.RED}}]},
{type: html.TD, list: [can.page.input(can, item), item.type == html.TEXT && {icon: "delete", onclick: function(event) { event.target.previousSibling.value = "" }}]},
{type: html.TD, _init: function(target) {
can.onappend.input(can, item, "", target)
}},
]}
})}]}, html.ACTION,
], onclick: function(event) {
if (!can.page.tagis(event.target, html.INPUT, html.TEXTAREA)) {
can.onmotion.clearCarte(can)
}
}}])
], onclick: function(event) { if (!can.page.tagis(event.target, html.INPUT, html.TEXTAREA)) { can.onmotion.clearCarte(can) } }}])
var action = can.onappend._action(can, button||[html.SUBMIT, html.CANCEL], ui.action, {
_trans: {submit: msg.Option(web.SUBMIT)},
focus: function() { can.onmotion.focus(can, can.page.Select(can, ui._target, html.INPUT_ARGS)[0]) },

View File

@ -4,10 +4,9 @@ fieldset.Footer>div.output div.title:first-child { font-weight:bold; text-align:
fieldset.Footer>div.output div.state { float:right; }
fieldset.Footer>div.output div.state label { font-size:var(--status-font-size); }
fieldset.Footer>div.output div.toast { float:right; line-height:18px; }
fieldset.Footer>div.output div.cmd { padding:0; margin-left:20px; position:relative; }
fieldset.Footer>div.output div.cmd>i { padding:7px; position:absolute; }
fieldset.Footer>div.output div.cmd { padding:0; margin-left:20px; }
fieldset.Footer>div.output div.cmd>i { padding:7px; }
fieldset.Footer>div.output div.cmd>input[name=cmd] { padding-left:30px; }
fieldset.Footer>div.output div.cmd>span.delete { padding:var(--input-padding); }
fieldset.Footer>div.output div.menu>div.River { display:flex; justify-content:space-around; }
fieldset.Footer>div.output div.menu>div.River>div.item { height:var(--footer-height); display:flex; flex-direction:column; text-align:center; flex-grow:1; }
fieldset.Footer>div.output div.menu>div.River>div.item>i { font-size:24px; margin-right:0; }

View File

@ -1,12 +1,12 @@
fieldset.Header>div.output { line-height:21px; height:var(--header-height); overflow:hidden; }
fieldset.Header>div.output div.item { background-color:var(--panel-output-bg-color); padding:13.5px; height:var(--header-height); float:left; }
fieldset.Header>div.output div.title:first-child { font-size:var(--legend-font-size); font-style:italic; font-weight:bold; width:var(--river-width); display:flex; align-items:center; justify-content:center; overflow:auto; }
fieldset.Header>div.output div.title:first-child { font-size:var(--legend-font-size); font-style:italic; font-weight:bold; width:var(--river-width); display:flex; align-items:center; justify-content:center; overflow:hidden; }
fieldset.Header>div.output div.title img { margin-right:var(--button-margin); height:var(--action-height); width:var(--action-height); }
fieldset.Header>div.output div.state { float:right; }
fieldset.Header>div.output div.state.avatar { padding:0; }
fieldset.Header>div.output div.state.avatar>img { height:var(--header-height); clip-path:circle(40%); }
fieldset.Header>div.output div.search.title { padding:7px 5px; margin-left:15px; position:relative; }
fieldset.Header>div.output div.search>i { padding:7px; position:absolute; }
fieldset.Header>div.output div.search.title { padding:7px 5px; margin-left:15px; }
fieldset.Header>div.output div.search>i { padding:7px; }
fieldset.Header>div.output div.search>input { padding-left:25px; }
fieldset.Header>div.output div.search>span.delete { padding:var(--input-padding) var(--button-padding); }
fieldset.Header>div.output div.search>span.icon { padding:var(--input-padding) var(--button-padding); }
body.mobile fieldset.Header>div.output div.state.avatar { margin-right:var(--button-margin); }

View File

@ -41,7 +41,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
return can.page.Append(can, can._output, [{view: cmds[0], list: can.core.List(can.base.getValid(cmds.slice(1), [cmds[0]]), function(item) {
return can.base.isString(item)? /* 1.string */ {view: [[html.ITEM, html.MENU], "", can.user.trans(can, item, trans)], onclick: function(event) { can.base.isFunc(cb) && cb(event, item, [item]) }}:
can.base.isArray(item)? /* 2.array */ {view: [[html.ITEM, html.MENU], "", can.user.trans(can, item[0], trans)], onclick: function(event) { can.onkeymap.prevent(event)
can.onaction.carte(event, can, item.slice(1), function(event, button, meta) { can.base.isFunc(cb) && cb(event, button, item) }, trans)
can.onaction.carte(can.request(event, {_style: "header "+item[0]}), can, item.slice(1), function(event, button, meta) { can.base.isFunc(cb) && cb(event, button, item) }, trans)
}}: /* 3.others */ item
}) }])._target
},
@ -108,7 +108,7 @@ Volcanos(chat.ONACTION, {_init: function(can) {
can.onaction.carte(can.request(event, {_style: "header avatar"}), can, [
can.user.isMobile? `<img src="${src}" width=${can.ConfWidth()-20}>`: can.page.Format(html.IMG, src, can.page.height()/2)
]) },
usernick: function(event, can) { can.onaction.carte(event, can, can.onaction._menus) },
usernick: function(event, can) { can.onaction.carte(can.request(event, {_style: "header usernick"}), can, can.onaction._menus) },
shareuser: function(event, can) { can.user.share(can, can.request(event), [ctx.ACTION, chat.SHARE, mdb.TYPE, aaa.LOGIN, mdb.NAME, can.user.title(), mdb.TEXT, location.href]) },
toimage: function(event, can) { can.onmotion.clearCarte(can), can.user.toimage(can, can.user.title(), can._target.parentNode) },
webpack: function(event, can) { can.onengine.signal(can, chat.ONWEBPACK, can.request(event)) },

View File

@ -5,5 +5,4 @@ fieldset.River>div.output div.item:hover { color:var(--panel-hover-fg-color); }
fieldset.River>div.output div.item.select { color:var(--panel-hover-fg-color); }
fieldset.River>div.output div.list div.item { border-left:#ccdc4c solid 3px; }
fieldset.River>div.output div.list { margin-left:var(--legend-padding); }
body:not(.mobile) fieldset.River>div.output { padding:var(--plugin-padding); }
fieldset.River>div.output { margin:var(--river-margin) 0; }

View File

@ -1,84 +1,68 @@
fieldset.inner>div.output div.content td.text { height:20px; }
fieldset.inner>div.output>div.layout>div.layout div.content div.tips { color:var(--disable-fg-color); font-style:italic; position:absolute; top:0; right:10px; }
fieldset.inner>div.output div.content td.text { height:var(--code-line-height); }
fieldset.inner>div.output div.content td.text span.comment { color:var(--code-comment); }
fieldset.inner>div.output div.content td.text span.keyword { color:var(--code-keyword); box-shadow:var(--box-shadow); }
fieldset.inner>div.output div.content td.text span.package { color:var(--code-package); }
fieldset.inner>div.output div.content td.text span.datatype { color:var(--code-datatype); }
fieldset.inner>div.output div.content td.text span.function { color:var(--code-function); }
fieldset.inner>div.output div.content td.text span.constant { color:var(--code-constant); }
fieldset.inner>div.output div.content td.text span.string { color:var(--code-string); box-shadow:var(--box-shadow); }
fieldset.inner>div.output div.content td.text span.object { color:var(--code-object); }
fieldset.inner>div.output>div.project>div.zone>div.item { font-style:italic; font-weight:bold; line-height:32px; }
fieldset.inner>div.output>div.project div.zone>div.item span.icon { font-style:normal; font-weight:normal; letter-spacing:0; }
fieldset.inner>div.output>div.project div.zone>div.item span.icon { font-size:22px; line-height:26px; padding:0 5px; float:right; display:none; }
fieldset.inner>div.output>div.project div.zone:hover>div.item span.icon { display:block; }
fieldset.inner>div.output>div.project div.zone div.action { width:100%; }
fieldset.inner>div.output div.content td.text span.datatype { color:var(--code-datatype); }
fieldset.inner>div.output div.content td.text span.package { color:var(--code-package); }
fieldset.inner>div.output>div.project div.zone div.action:not(.hide) { width:100%; display:flex; align-items:center; }
fieldset.inner>div.output>div.project div.zone div.action>div.item { padding-right:0; width:100%; }
fieldset.inner>div.output>div.project div.zone div.action>div.item>i { position:absolute; padding:4px 6px; }
fieldset.inner>div.output>div.project div.zone div.action>div.item>input { padding-left:25px; width:100%; }
fieldset.inner>div.output>div.project div.zone div.action>div.item>span.delete { font-size:20px; margin-right:-10px; }
fieldset.inner>div.output>div.project { box-shadow:var(--box-shadow); }
fieldset.inner>div.output>div.layout>div.display { box-shadow:var(--box-shadow); }
fieldset.inner>div.output>div.layout>div.layout>div.profile { box-shadow:var(--box-shadow); }
fieldset.inner>div.output>div.layout>div.tabs { font-size:var(--code-font-size); display:none; }
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding-right:0; box-shadow:var(--box-shadow); margin-left:5px; }
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs:hover { background-color:var(--output-bg-color); border-top-left-radius:var(--button-radius); border-top-right-radius:var(--button-radius); }
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs.select { background-color:var(--output-bg-color); border-top-left-radius:var(--button-radius); border-top-right-radius:var(--button-radius); border-bottom:lightgray solid 2px; }
fieldset.inner>div.output>div.layout>div.path { font-size:var(--code-font-size); display:none; }
fieldset.inner>div.output>div.layout>div.layout>iframe.profile { border-left:var(--box-border); }
fieldset.inner>div.output>div.layout>div.layout>div.profile h1 { text-align:left; padding:10px 0; border-bottom:var(--box-border); margin:20px 0; }
fieldset.inner>div.output>div.layout>div.layout>div.profile h2 { padding:10px 0; border-bottom:var(--box-border); margin:20px 0; }
fieldset.inner>div.output>div.layout>div.layout>div.profile pre>code { padding-left:10px; border-left:var(--code-border-color) solid 5px; display:block; }
fieldset.inner>div.output>div.layout>div.layout>div.profile>div.code { white-space:unset; padding:20px; }
fieldset.inner>div.output>div.layout>div.layout>div.profile div.status>div { padding:5px; float:left; }
fieldset.inner>div.output>div.layout>div.display h1 { text-align:left; padding:10px 0; border-bottom:var(--box-border); margin:20px 0; }
fieldset.inner>div.output>div.layout>div.display h2 { padding:10px 0; border-bottom:var(--box-border); margin:20px 0; }
fieldset.inner>div.output>div.layout>div.display pre>code { padding-left:10px; border-left:var(--code-border-color) solid 5px; display:block; }
fieldset.inner>div.output>div.layout>div.display div.code { white-space:unset; padding:20px; }
fieldset.inner>div.output>div.layout>div.display div.status>div { padding:5px; float:left; }
fieldset.inner>div.output>div.layout>div.display h1 { border-bottom:var(--box-border); margin:var(--title-margin) 0; }
fieldset.inner>div.output>div.layout>div.display h2 { border-bottom:var(--box-border); margin:var(--title-margin) 0; }
fieldset.inner>div.output>div.layout>div.display pre>code { padding-left:var(--table-padding); border-left:var(--code-border-color) solid 5px; display:block; }
fieldset.inner>div.output>div.layout>div.display div.code { white-space:unset; padding:var(--table-padding); }
fieldset.inner>div.output>div.layout>div.display div.status>div { padding:var(--input-padding); float:left; }
fieldset.inner>div.output>div.layout>div.display div.status { position:sticky; bottom:0; }
fieldset.inner.cmd>div.output>div.layout>div.tabs { background-color:var(--plugin-bg-color); height:38px; display:flex; }
fieldset.inner.cmd>div.output>div.layout>div.tabs.hide { display:none; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div { height:38px; display:flex; }
fieldset.inner>div.output>div.layout>div.layout>div.profile h1 { border-bottom:var(--box-border); margin:var(--title-margin) 0; }
fieldset.inner>div.output>div.layout>div.layout>div.profile h2 { border-bottom:var(--box-border); margin:var(--title-margin) 0; }
fieldset.inner>div.output>div.layout>div.layout>div.profile pre>code { padding-left:var(--table-padding); border-left:var(--code-border-color) solid 5px; display:block; }
fieldset.inner>div.output>div.layout>div.layout>div.profile>div.code { white-space:unset; padding:var(--table-padding); }
fieldset.inner>div.output>div.layout>div.layout>div.profile div.status>div { padding:var(--input-padding); float:left; }
fieldset.inner>div.output>div.layout>div.layout div.content div.tips { color:var(--disable-fg-color); font-style:italic; position:absolute; top:0; right:10px; }
fieldset.inner.cmd>div.output>div.layout>div.tabs:not(.hide) { background-color:var(--plugin-bg-color); height:var(--code-tabs-height); display:flex; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div { height:var(--code-tabs-height); display:flex; align-items:center; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.icon>div.icon { font-size:26px; line-height:32px; padding:2px 5px; position:sticky; top:0; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs { flex-grow:1; flex-wrap:wrap; overflow:auto; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs:hover { background-color:unset; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding:5px; height:38px; display:flex; align-items:center; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs>span { font-style:italic; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div { white-space:pre; padding:10px; height:38px; display:flex; align-items:center; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding:var(--input-padding) var(--button-padding); height:var(--code-tabs-height); }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div { white-space:pre; padding:10px; height:var(--code-tabs-height); display:flex; align-items:center; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar { padding:0; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar>img { height:38px; clip-path:circle(40%); }
fieldset.inner.cmd>div.output>div.layout>div.path { font-style:italic; padding:5px; box-shadow:var(--box-shadow); display:block; cursor:pointer; }
fieldset.inner.cmd>div.output>div.layout>div.path.hide { display:none; }
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar>img { height:var(--code-tabs-height); clip-path:circle(40%); }
fieldset.inner.cmd>div.output>div.layout>div.path:not(.hide) { font-style:italic; box-shadow:var(--box-shadow); display:flex; align-items:center; cursor:pointer; }
fieldset.inner.cmd>div.output>div.layout>div.path>span:hover { background-color:var(--hover-bg-color); }
fieldset.inner.cmd>div.output>div.layout>div.path span.func { padding:5px 10px; margin-left:20px; }
fieldset.inner.cmd>div.output>div.layout>div.path span.mode { padding:5px 10px; margin-left:20px; }
fieldset.inner.cmd>div.output>div.layout>div.path span.view { font-size:22px; padding:0 5px; margin-top:-5px; float:right; }
fieldset.inner.cmd>div.output>div.layout>fieldset.plug { bottom:32px; }
fieldset.inner.cmd>div.output>div.layout>div.path span.func { padding:var(--input-padding) var(--button-padding); margin-left:var(--button-margin); flex-grow:1; }
fieldset.inner.cmd>div.output>div.layout>div.path span.mode { padding:var(--input-padding) var(--button-padding); margin-left:var(--button-margin); flex-grow:1; }
fieldset.inner.cmd>div.output>div.layout>div.path span.view { font-size:22px; padding:0 var(--input-padding); margin-top:-5px; float:right; }
fieldset.inner.cmd>div.output>div.layout>fieldset.plug { bottom:var(--action-height); }
fieldset.inner.cmd>div.output>div.layout>fieldset.plug.output { white-space:pre; }
fieldset.inner.cmd>div.output>div.layout>div.plug { height:32px; position:fixed; right:0; bottom:0; }
fieldset.inner.cmd>div.output>div.layout>div.plug>legend { font-size:1rem; font-style:italic; padding:0 10px; float:right; }
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove { padding:5px; }
fieldset.inner.cmd>div.output>div.layout>div.plug { height:var(--action-height); position:fixed; right:0; bottom:0; }
fieldset.inner.cmd>div.output>div.layout>div.plug>legend { font-size:var(--legend-font-size); font-style:italic; padding:0 var(--legend-padding); float:right; }
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove { padding:var(--input-padding); }
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove:hover { background-color:var(--hover-bg-color); }
fieldset.inner.cmd>div.output>div.layout>div.plug>legend:not(:hover)>span.remove { visibility:hidden; }
div.path span.item { padding:5px; }
div.carte.path.float { font-size:var(--code-font-size); } div.carte.path.float div.item { padding:5px; }
div.carte.cmd.float { font-size:var(--code-font-size); } div.carte.cmd.float div.item { padding:5px; }
div.path span.item { padding:var(--input-padding); }
div.carte.cmd.float { font-size:var(--code-font-size); } div.carte.cmd.float div.item { padding:var(--input-padding); }
div.carte.path.float { font-size:var(--code-font-size); } div.carte.path.float div.item { padding:var(--input-padding); }
div.vimer.open.float td:first-child { display:none; }
div.vimer.open.float td:nth-child(2) { display:none; }
div.layout.flex>input.current { clear:both; }
tr.line>td.line { user-select:none; }
tr.line>td.line { text-align:right; padding:0 10px; position:sticky; left:0; }
tr.line>td.text { white-space:pre; line-height:20px; padding-left:10px; width:100%; }
tr.line>td.line { user-select:none; border-right:var(--box-border); }
tr.line>td.line { text-align:right; padding:0 var(--button-padding); position:sticky; left:0; }
tr.line>td.text { white-space:pre; line-height:var(--code-line-height); padding-left:var(--input-padding); width:100%; }
tr.line:hover { background-color:var(--hover-bg-color); }
tr.line.delete { background-color:#3c2626; }
tr.line.insert { background-color:#283e2d; }
body.light tr.line.delete { background-color:#e6ffed; }
body.light tr.line.insert { background-color:#ffeef0; }
body.white tr.line.delete { background-color:#e6ffed; }
body.white tr.line.insert { background-color:#ffeef0; }
tr.line.insert { background-color:#283e2d; } tr.line.delete { background-color:#3c2626; }
body.light tr.line.insert { background-color:#ffeef0; } body.light tr.line.delete { background-color:#e6ffed; }
body.white tr.line.insert { background-color:#ffeef0; } body.white tr.line.delete { background-color:#e6ffed; }
fieldset.inner:not(.monaco)>div.output div.content>tr.line * { font-family:var(--code-font-family); font-size:var(--code-font-size); }
body:not(.windows) fieldset.inner>div.output>div.project * { font-family:var(--code-font-family); font-size:var(--code-font-size); }
/* body:not(.windows) fieldset.inner>div.output>div.project * { font-family:var(--code-font-family); font-size:var(--code-font-size); } */
body:not(.windows) fieldset.inner>div.output>div.project * { font-family:var(--code-font-family); }
body:not(.windows) fieldset.inner>div.output>div.layout>div.tabs { font-family:var(--code-font-family); font-size:var(--code-font-size); }
body:not(.windows) fieldset.inner>div.output>div.layout>div.path { font-family:var(--code-font-family); font-size:var(--code-font-size); }

View File

@ -116,18 +116,11 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
},
_tabIcon: function(can) {
can.user.isWindows || can.page.Append(can, can.ui.path, can.core.Item({
"\u25E8 ": function(event) {
if (can.page.isDisplay(can.ui.profile)) { return can.onmotion.hidden(can, can.ui.profile), can.onimport.layout(can) } can.onaction.show(event, can)
},
"\u25E8": shy({"font-size": "23px", rotate: "90deg", translate: "1px 1px"}, function(event) {
if (can.page.isDisplay(can.ui.display)) { return can.onmotion.hidden(can, can.ui.display), can.onimport.layout(can) } can.onaction.exec(event, can)
}),
"\u25E7": function(event) {
var show = can.onmotion.toggle(can, can.ui.project); can.onimport.layout(can)
can.isCmdMode() && can.onexport.session(can, PROJECT_HIDE, show? "": html.HIDE)
},
"\u2756": shy({"font-size": "20px", translate: "0 2px"}, function(event) { can.onaction.plug(event, can) }),
"\u271A": shy({"font-size": "20px", translate: "0 2px"}, function(event) { can.onaction.open(event, can) }),
"\u271A": shy({translate: "0 2px"}, function(event) { can.onaction.open(event, can) }),
"\u2756": shy({translate: "0 2px"}, function(event) { can.onaction.plug(event, can) }),
"\u25E7": function(event) { var show = can.onmotion.toggle(can, can.ui.project); can.onimport.layout(can), can.isCmdMode() && can.onexport.session(can, PROJECT_HIDE, show? "": html.HIDE) },
"\u25E8": shy({translate: "0 2px", rotate: "90deg"}, function(event) { if (can.page.isDisplay(can.ui.display)) { return can.onmotion.hidden(can, can.ui.display), can.onimport.layout(can) } can.onaction.exec(event, can) }),
"\u25E8 ": function(event) { if (can.page.isDisplay(can.ui.profile)) { return can.onmotion.hidden(can, can.ui.profile), can.onimport.layout(can) } can.onaction.show(event, can) },
}, function(text, cb) { return cb && {text: [text, html.SPAN, html.VIEW], style: cb.meta, onclick: cb} }))
},
tabview: function(can, path, file, line, cb) { path = path||can.Option(nfs.PATH); var key = can.onexport.keys(can, path, file)

View File

@ -1,10 +1,9 @@
fieldset.vimer>div.output>div.layout>div.layout>div.layout div.content { border-left:var(--box-border); border-top:var(--box-border); }
/* fieldset.inner>div.output>div.layout>div.layout>div.content div.tips { display:none; } */
fieldset.vimer>div.output>div.layout>div.layout div.content input.current { background-color:transparent; color:transparent; padding-left:10px; height:20px; position:absolute; }
fieldset.vimer>div.output>div.layout>div.layout div.content input.current { background-color:transparent; color:transparent; padding-left:var(--input-padding); height:var(--code-line-height); position:absolute; }
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete { background-color:unset; padding-top:0; display:none; position:absolute; height:1px; overflow:visible; }
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete div.prefix { color:transparent; white-space:pre; float:left; }
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete table.content thead { display:none; }
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete table.content { padding-left:5px; width:unset; max-width:600px; display:block; box-shadow:var(--box-shadow); }
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete table.content { padding-left:var(--input-padding); width:unset; max-width:600px; display:block; box-shadow:var(--box-shadow); }
fieldset.vimer>div.output>div.layout>div.layout div.content.insert div.complete:not(.hide) { display:block; top:unset; }
fieldset.vimer>div.output>div.layout>div.layout div.content.normal input.current { caret-color:var(--notice-bg-color); border:var(--notice-bg-color) solid 1px; }
fieldset.vimer>div.output>div.layout>div.layout div.content.insert input.current { caret-color:var(--danger-bg-color); border:var(--danger-bg-color) solid 1px; }

View File

@ -44,7 +44,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.Conf(html.PADDI
}); select && select.click()
},
field: function(can, meta, target) { var item = can.base.Obj(meta.meta), width = item.width
if (can.Option(nfs.PATH).indexOf(nfs.DF) > 0) { var ls = can.core.Split(can.Option(nfs.PATH), nfs.DF); item.space = ls[0] }
// if (can.Option(nfs.PATH).indexOf(nfs.DF) > 0) { var ls = can.core.Split(can.Option(nfs.PATH), nfs.DF); item.space = ls[0] }
can.onappend.plugin(can, item, function(sub) { can._plugins = (can._plugins||[]).concat([sub])
sub.onimport.size(sub, can.base.Min(can.ConfHeight()/2, 300, 600), sub.Conf("_width", width)||(can.ConfWidth()-2*can.Conf(html.PADDING)), true)
var size = sub.onimport.size; sub.onimport.size = function(can, height, width, auto, mode) { size(can, height, width, auto, mode), can.page.style(can, sub._output, html.MAX_HEIGHT, "", "overflow-y", "hidden") }

View File

@ -29,8 +29,8 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
_zone: function(can, zone, index, cb, field) { zone._delay_init = function() { can.onimport.plug(can, can.base.isObject(index)? index: {index: index, style: html.OUTPUT, mode: mdb.ZONE, field: field}, function(sub) {
sub.run = function(event, cmds, cb) { can.runActionCommand(can.request(event, {mode: mdb.ZONE}), index.index||index, cmds, cb) }
zone._icon(kit.Dict(
can.page.unicode.refresh, function(event) { sub.Update(event) },
"+", function(event) { sub.Update(event, [ctx.ACTION, mdb.CREATE]) },
web.REFRESH, function(event) { sub.Update(event) },
mdb.CREATE, function(event) { sub.Update(event, [ctx.ACTION, mdb.CREATE]) },
"=", function() { can.onimport.tabview(can, "", [sub.ConfIndex()].concat(sub.Conf(ctx.ARGS)).join(","), ctx.INDEX) },
))
var action = can.core.List(sub.Conf(ctx.INPUTS), function(item) { if (item.type == html.BUTTON && [ice.LIST, ice.BACK].indexOf(item.name) == -1) { return item.name } })
@ -82,7 +82,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
]}
}))
},
_icon: function(can, name, button, target) { can.page.Append(can, target, [{text: [can.page.unicode[name]||name, html.SPAN, html.ICON], onclick: function(event) {
_icon: function(can, name, button, target) { can.page.Append(can, target, [{text: [can.page.unicode[name]||name, html.SPAN, [html.ICON, name]], onclick: function(event) {
can.base.isFunc(button)? button(event, button): can.onaction[button](event, can, button), can.onkeymap.prevent(event)
}}]) },
icon: function(can, msg, target, cb) { return msg.Table(function(value) {
@ -186,9 +186,10 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
can.core.Next(list.reverse(), function(meta, next) { can.base.isString(meta) && (meta = {index: meta}), meta.mode = html.FLOAT
can.onimport.plug(can, meta, function(sub) {
sub.onexport.output = function() { var width = can.ConfWidth()-(can.ui && can.ui.project? can.ui.project.offsetWidth: 0)
var height = can.base.Max(can.ConfHeight()/2, 320, can.ConfHeight()-html.ACTION_HEIGHT)
can.page.style(can, sub._output, html.MAX_HEIGHT, "", html.HEIGHT, "", html.WIDTH, "", html.MAX_WIDTH, "")
sub.onimport.size(sub, can.ConfHeight()/2, can.base.Min(sub._target.offsetWidth, width/2, width/(can.base.isIn(sub.ConfIndex(), code.COMPILE, cli.RUNTIME)? 1: 2)), true)
sub.onimport.size(sub, can.ConfHeight()/2, can.base.Min(sub._target.offsetWidth, width/2, width), true)
sub.onimport.size(sub, height, can.base.Min(sub._target.offsetWidth, can.base.Min(width/2, 640), width/(can.base.isIn(sub.ConfIndex(), code.COMPILE, cli.RUNTIME)? 1: 2)), false)
can.onmotion.delay(can, function() { sub.onimport.size(sub, height, can.base.Min(sub._target.offsetWidth, can.base.Min(width/2, 640), width), false) })
}
can.onmotion.hidden(can, sub._target), sub._legend._target = sub._target, sub._legend._meta = {index: meta.index}
can.page.Append(can, sub._legend,[{text: [can.page.unicode.remove, "", mdb.REMOVE], onclick: function(event) {