1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-11-22 00:03:21 +08:00
parent c22051ac58
commit 0076697bf0
8 changed files with 37 additions and 19 deletions

View File

@ -111,7 +111,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
can.page.Select(can, status, [[[html.SPAN, key]]], function(target) { can.page.Select(can, status, [[[html.SPAN, key]]], function(target) {
if (key == web.SPACE && value) { value = can.page.Format(html.A, can.misc.MergePodCmd(can, {pod: value}), value) } if (key == web.SPACE && value) { value = can.page.Format(html.A, can.misc.MergePodCmd(can, {pod: value}), value) }
if (can.base.beginWith(value, nfs.PS, ice.HTTP)) { value = can.page.Format(html.A, value) } if (can.base.beginWith(value, nfs.PS, ice.HTTP)) { value = can.page.Format(html.A, value) }
return can.base.isUndefined(value)? (value = target.innerHTML): (target.innerHTML = value.trim? value.trim(): value+"") return can.base.isUndefined(value)? (value = target.innerText): (target.innerHTML = value.trim? value.trim(): value+"")
}); return value }); return value
} catch {} }, } catch {} },
Action: function(key, value) { Action: function(key, value) {
@ -795,9 +795,10 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
} }
}, },
slideGrow: function(can, target) { slideGrow: function(can, target) {
if (can.page.tagis(target, html.DIV) && can.page.ClassList.has(can, target, html.INPUT)) { return }
var height = target.offsetHeight, begin = 0; if (height < 10) { return } var height = target.offsetHeight, begin = 0; if (height < 10) { return }
can.page.style(can, target, html.HEIGHT, 0) can.page.style(can, target, html.HEIGHT, 0)
can.core.Timer({interval: 1, length: height/6}, function(timer, interval, index, list) { can.core.Timer({interval: 1, length: height/5}, function(timer, interval, index, list) {
can.page.style(can, target, html.HEIGHT, begin += height/list.length) can.page.style(can, target, html.HEIGHT, begin += height/list.length)
}, function() { }, function() {
can.page.style(can, target, html.HEIGHT, "") can.page.style(can, target, html.HEIGHT, "")

View File

@ -109,7 +109,7 @@ fieldset.input.key.simple th { display:none; }
fieldset.input.key.simple td { min-width:40px; } fieldset.input.key.simple td { min-width:40px; }
fieldset.input.date>div.action>div.item.next { margin-right:0; } fieldset.input.date>div.action>div.item.next { margin-right:0; }
fieldset.input.date>div.action>div.item.today { margin-right:0; } fieldset.input.date>div.action>div.item.today { margin-right:0; }
fieldset.input.date>div.output table.content { text-align:center; width:100%; min-width:350px; } fieldset.input.date>div.output table.content { text-align:center; width:100%; min-width:350px; border:var(--notice-bg-color) solid 1px; }
fieldset.input.date>div.output td { padding:2px 10px; } fieldset.input.date>div.output td { padding:2px 10px; }
fieldset.input.date>div.output td.prev { color:var(--disable-fg-color); } fieldset.input.date>div.output td.prev { color:var(--disable-fg-color); }
fieldset.input.date>div.output td.next { color:var(--disable-fg-color); } fieldset.input.date>div.output td.next { color:var(--disable-fg-color); }
@ -138,6 +138,11 @@ body.mobile>div.carte div.item { padding:10px; }
body>div.carte div.item span.icon.next { float:right; line-height:22px; height:22px; } 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; } body>div.carte.select.float>div.item { text-align:center; }
body>div.input { padding:20px; } body>div.input { padding:20px; }
body>div.input>legend { font-style:italic; width:100%; }
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.output { clear:both; } */ /* body>div.input div.output { clear:both; } */
body>div.input td { padding:10px; } body>div.input td { padding:10px; }
body>div.input td:nth-child(2) { padding:10px 0;} body>div.input td:nth-child(2) { padding:10px 0;}
@ -162,8 +167,8 @@ body>div.input td:hover span.icons { visibility:visible; }
body>div.input select { width:230px !important; } body>div.input select { width:230px !important; }
body>div.input input:not([type=button]) { width:240px; } body>div.input input:not([type=button]) { width:240px; }
body>div.input textarea { height:120px; width:240px !important; } body>div.input textarea { height:120px; width:240px !important; }
body>div.input div.action { width:100%; position:sticky; bottom:0; } body>div.input div.action { padding:0 10px; width:100%; position:sticky; bottom:0; }
body>div.input div.action>div.item { margin:5px; float:right; } body>div.input div.action>div.item { margin-left:10px; 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:110px; }
body.mobile.landscape>div.input.login { padding:0; } body.mobile.landscape>div.input.login { padding:0; }
body.mobile.landscape>div.input.login div.output img { max-height:280px; } body.mobile.landscape>div.input.login div.output img { max-height:280px; }
@ -365,9 +370,11 @@ body.cmd { background-color:var(--plugin-bg-color); color:var(--body-fg-color);
legend { background-color:var(--legend-bg-color); border-radius:var(--input-radius); } legend { background-color:var(--legend-bg-color); border-radius:var(--input-radius); }
legend:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); } legend:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
select { border-radius:var(--input-radius); } select { border-radius:var(--input-radius); }
textarea:hover { border:var(--box-notice); }
input { background-color:var(--input-bg-color); color:var(--input-fg-color); border-radius:var(--input-radius); } input { background-color:var(--input-bg-color); color:var(--input-fg-color); border-radius:var(--input-radius); }
input:not([type=button]) { border:var(--input-border); } input:not([type=button]) { border:var(--input-border); }
input:not([type=button]):hover { border:var(--box-notice); } input:not([type=button]):hover { border:var(--box-notice); }
input.select[type=button]:hover { border:var(--box-notice); }
input:not([type=button]):focus { border:var(--box-notice); } input:not([type=button]):focus { border:var(--box-notice); }
input[type=button]:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); } input[type=button]:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
textarea { background-color:var(--input-bg-color); color:var(--input-fg-color); border:var(--box-border); } textarea { background-color:var(--input-bg-color); color:var(--input-fg-color); border:var(--box-border); }

View File

@ -22,6 +22,7 @@ fieldset.Action.grid>div.output>fieldset.plugin>form.option input[type=text] { w
fieldset.Action>div.project.toggle { font-size:32px; cursor:pointer; padding-top:50px; height:150px; position:fixed; top:30%; border-top-right-radius:20px; border-bottom-right-radius:20px; } fieldset.Action>div.project.toggle { font-size:32px; cursor:pointer; padding-top:50px; height:150px; position:fixed; top:30%; border-top-right-radius:20px; border-bottom-right-radius:20px; }
fieldset.Action>div.project.toggle { background-color:#4a566e6e; color:var(--panel-fg-color); width:20px; } fieldset.Action>div.project.toggle { background-color:#4a566e6e; color:var(--panel-fg-color); width:20px; }
fieldset.Action>div.project.toggle:hover { background-color:var(--hover-bg-color); color:var(--panel-hover-fg-color); } fieldset.Action>div.project.toggle:hover { background-color:var(--hover-bg-color); color:var(--panel-hover-fg-color); }
body:not(.mobile) fieldset.Action>div.project.toggle { display:none; }
fieldset.Action.tabview>div.project.toggle { display:none; } fieldset.Action.tabview>div.project.toggle { display:none; }
fieldset.Action.vertical>div.project.toggle { display:none; } fieldset.Action.vertical>div.project.toggle { display:none; }
fieldset.Action.horizon>div.project.toggle { display:none; } fieldset.Action.horizon>div.project.toggle { display:none; }

View File

@ -1,6 +1,9 @@
fieldset.River { width:var(--project-width); float:left; } fieldset.River { width:var(--project-width); float:left; }
fieldset.River>div.action { width:100%; display:flex; justify-content:center; } fieldset.River>div.action { width:100%; display:flex; justify-content:center; }
fieldset.River>div.output div.item { padding:20px 20px; border-left:#00ffae solid 3px; } fieldset.River>div.output div.item { padding:20px 20px; border-left:#00ffae solid 3px; }
fieldset.River>div.output div.item>i.bi-chevron-down { float:right; }
fieldset.River>div.output div.item.open>i.bi-chevron-down { rotate:-180deg; transition:all 0.5s; }
fieldset.River>div.output div.item:not(.open)>i.bi-chevron-down { transition:all 0.5s; }
fieldset.River>div.output div.list div.item { border-left:#ccdc4c solid 3px; } fieldset.River>div.output div.list div.item { border-left:#ccdc4c solid 3px; }
fieldset.River>div.output div.list { margin-left:20px; } fieldset.River>div.output div.list { margin-left:20px; }
body:not(.mobile) fieldset.River>div.output { padding:10px; } body:not(.mobile) fieldset.River>div.output { padding:10px; }

View File

@ -9,7 +9,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { can.onimport._main(can, msg
can._main_river = ls[0]||can.misc.SearchOrConf(can, chat.RIVER)||msg.Option(ice.MSG_RIVER)||"project" can._main_river = ls[0]||can.misc.SearchOrConf(can, chat.RIVER)||msg.Option(ice.MSG_RIVER)||"project"
can._main_storm = ls[1]||can.misc.SearchOrConf(can, chat.STORM)||msg.Option(ice.MSG_STORM)||"studio" can._main_storm = ls[1]||can.misc.SearchOrConf(can, chat.STORM)||msg.Option(ice.MSG_STORM)||"studio"
}, },
_river: function(can, meta, cb) { return {view: html.ITEM, list: [{icon: meta.icon}, {text: meta.name}], _init: function(target) { can.ui.river_list[meta.hash] = target, cb(target) }, _river: function(can, meta, cb) { return {view: html.ITEM, list: [{icon: meta.icon}, {text: meta.name}, {icon: "bi bi-chevron-down"}], _init: function(target) { can.ui.river_list[meta.hash] = target, cb(target) },
onclick: function(event) { can.onaction.storm(event, can, meta.hash) }, oncontextmenu: function(event) { can.onaction.carte(event, can, can.onaction._menu, meta.hash) }, onclick: function(event) { can.onaction.storm(event, can, meta.hash) }, oncontextmenu: function(event) { can.onaction.carte(event, can, can.onaction._menu, meta.hash) },
} }, } },
_storm: function(can, meta, river) { return {view: html.ITEM, list: [{icon: meta.icon}, {text: meta.name}], _init: function(target) { can.ui.storm_list[can.core.Keys(river, meta.hash)] = target }, _storm: function(can, meta, river) { return {view: html.ITEM, list: [{icon: meta.icon}, {text: meta.name}], _init: function(target) { can.ui.storm_list[can.core.Keys(river, meta.hash)] = target },
@ -47,8 +47,11 @@ Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.SHARE, web.REFRESH], _init: func
var menu = can.setFooterMenu(list, function(event, button, list) { can.onaction.action(event, can, river, button) }) var menu = can.setFooterMenu(list, function(event, button, list) { can.onaction.action(event, can, river, button) })
can.page.SelectChild(can, menu, html.DIV_ITEM, function(target, index) { can.page.ClassList.set(can, target, html.SELECT, list[index].hash == can.Conf("storm")) }) can.page.SelectChild(can, menu, html.DIV_ITEM, function(target, index) { can.page.ClassList.set(can, target, html.SELECT, list[index].hash == can.Conf("storm")) })
}) } }) }
var list = can.ui.sublist[river]; if (list) { return can.onmotion.toggle(can, list), _menu() } var list = can.ui.sublist[river]; if (list) {
return can.page.ClassList.set(can, can.ui.river_list[river], "open", can.onmotion.toggle(can, list)), _menu()
}
can.run({}, [river, chat.STORM], function(msg) { var next = can.ui.river_list[river].nextSibling can.run({}, [river, chat.STORM], function(msg) { var next = can.ui.river_list[river].nextSibling
can.page.ClassList.set(can, can.ui.river_list[river], "open", true)
if (msg.Length() == 0) { return can.user.isLocalFile? can.user.toastFailure(can, "miss data"): can.onengine.signal(can, chat.ONACTION_NOSTORM, can.request({}, {river: river})) } if (msg.Length() == 0) { return can.user.isLocalFile? can.user.toastFailure(can, "miss data"): can.onengine.signal(can, chat.ONACTION_NOSTORM, can.request({}, {river: river})) }
can.db.storm_list[river] = msg.Table() can.db.storm_list[river] = msg.Table()
var select = 0; list = can.page.Append(can, can._output, [{view: html.LIST, list: msg.Table(function(item, index) { var select = 0; list = can.page.Append(can, can._output, [{view: html.LIST, list: msg.Table(function(item, index) {
@ -59,7 +62,8 @@ Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.SHARE, web.REFRESH], _init: func
action: function(event, can, river, storm) { can.user.isMobile || can.misc.SearchHash(can, river, storm) action: function(event, can, river, storm) { can.user.isMobile || can.misc.SearchHash(can, river, storm)
can.page.Select(can, can._output, [html.DIV_LIST, html.DIV_ITEM], function(target) { can.page.ClassList.del(can, target, html.SELECT) }) can.page.Select(can, can._output, [html.DIV_LIST, html.DIV_ITEM], function(target) { can.page.ClassList.del(can, target, html.SELECT) })
can.onmotion.select(can, can.ui.sublist[river], html.DIV_ITEM, can.ui.storm_list[can.core.Keys(river, storm)]) can.onmotion.select(can, can.ui.sublist[river], html.DIV_ITEM, can.ui.storm_list[can.core.Keys(river, storm)])
can.onaction.storm({target: can.ui.river_list[river]}, can, river), can.onmotion.toggle(can, can.ui.sublist[river], true) can.onaction.storm({target: can.ui.river_list[river]}, can, river)
can.page.ClassList.set(can, can.ui.river_list[river], "open", can.onmotion.toggle(can, can.ui.sublist[river], true))
can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm)})) can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm)}))
}, },
carte: function(event, can, list, river, storm) { can.onkeymap.prevent(event); if (can.core.Value(can._root, can.core.Keys(chat.RIVER, river))) { return } carte: function(event, can, list, river, storm) { can.onkeymap.prevent(event); if (can.core.Value(can._root, can.core.Keys(chat.RIVER, river))) { return }

View File

@ -9,23 +9,25 @@ page {
} }
page { padding:10px; } page { padding:10px; }
page, view { box-sizing: border-box; } page, view { box-sizing: border-box; }
view.output { width:100%; overflow:auto; overflow-x:hidden; clear:both; } view.output { width:100%; overflow-x:hidden; }
view.output textarea { text-align:left; padding:10px; width:100%; } view.output textarea { text-align:left; padding:10px; width:100%; }
view.output view.item { font-size:18px; text-align:center; padding:10px; border:var(--box-border); } view.output view.item { font-size:18px; text-align:center; padding:10px; border:var(--box-border); }
view.output view.list view.item { margin-left:20px; } view.output view.list view.item { margin-left:20px; }
view.field>view.output { overflow:auto; }
view.legend { font-size:20px; font-weight:bold; font-style:italic; margin:10px 0; } view.legend { font-size:20px; font-weight:bold; font-style:italic; margin:10px 0; }
view.action view.item { padding:0; border:0; margin-right:5px; float:left; } view.action view.item { padding:0; border:0; margin-right:5px; float:left; }
view.option view.item { padding:0; border:0; margin-right:5px; float:left; } view.option view.item { padding:0; border:0; margin-right:5px; float:left; }
view.option view.item.textarea { border:var(--box-border); width:calc(100% - 2px); clear:both; } view.option view.item.textarea { border:var(--box-border); width:calc(100% - 2px); clear:both; }
view.option view.item.select { border:var(--box-border); } view.option view.item.select { border:var(--box-border); }
view.option view.item picker { border:var(--box-border); height:30px; width:60px; } view.option view.item picker { border:var(--box-border); height:30px; width:80px; }
view.option view.item input { border:var(--box-border); height:30px; width:60px; } view.option view.item input { border:var(--box-border); height:30px; width:80px; }
view.option view.item button { height:32px; } view.option view.item button { height:32px; }
view.output view.code { white-space:pre; border-left:cyan solid 1px; } view.output view.code { white-space:pre; border-left:cyan solid 1px; }
view.status view.item { font-size:12px; font-style:italic; padding:5px; border:none; margin:0; float:left; } view.status view.item { font-size:12px; font-style:italic; padding:5px; border:none; margin:0; float:left; }
view.status view.item text.name { font-size:10px; } view.status view.item text.name { font-size:10px; }
view.action.submit view.item { margin-right:0; } view.action.submit view.item { margin-right:0; }
view.field.cli.qrcode view.option view.item input { width:70px; }
table { display:table; border-collapse:collapse; width:100%; } table { display:table; border-collapse:collapse; width:100%; }
table.debug { font-family:monospace; font-style:italic; } table.debug { font-family:monospace; font-style:italic; }

View File

@ -3,7 +3,7 @@
<template is="action" data="{{action}}"></template> <template is="action" data="{{action}}"></template>
<template is="debug" data="{{conf}}"></template> <template is="debug" data="{{conf}}"></template>
<view class="output"> <view class="output">
<view class="field" wx:for="{{list}}" wx:for-index="order" wx:for-item="field" wx:key="index"> <view class="field {{field.index}}" wx:for="{{list}}" wx:for-index="order" wx:for-item="field" wx:key="index">
<view class="legend"><text>{{field.name}}({{field.help}})</text></view> <view class="legend"><text>{{field.name}}({{field.help}})</text></view>
<view class="option"> <!-- 参数 --> <view class="option"> <!-- 参数 -->
<view class="item {{item.type}}" wx:for="{{field.inputs}}" wx:key="name"> <view class="item {{item.type}}" wx:for="{{field.inputs}}" wx:key="name">

View File

@ -6,6 +6,13 @@
"condition": { "condition": {
"miniprogram": { "miniprogram": {
"list": [ "list": [
{
"name": "web.dream",
"pathName": "pages/action/action",
"query": "index=web.dream&debug=true",
"launchMode": "default",
"scene": 1001
},
{ {
"name": "cli.qrcode", "name": "cli.qrcode",
"pathName": "pages/action/action", "pathName": "pages/action/action",
@ -19,13 +26,6 @@
"query": "index=cli.runtime&serve=http%3A%2F%2F192.168.10.12%3A9020&debug=true", "query": "index=cli.runtime&serve=http%3A%2F%2F192.168.10.12%3A9020&debug=true",
"launchMode": "default", "launchMode": "default",
"scene": null "scene": null
},
{
"name": "web.dream",
"pathName": "pages/action/action",
"query": "index=web.dream&serve=http%3A%2F%2F192.168.10.12%3A9020&debug=true",
"launchMode": "default",
"scene": 1001
} }
] ]
} }