1
0
forked from x/volcanos
This commit is contained in:
harveyshao 2022-01-26 01:40:20 +08:00
parent bbfe26a28e
commit 3865cbb3b9
29 changed files with 743 additions and 1144 deletions

View File

@ -13,6 +13,8 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
can.core.ItemCB(panel.onaction, function(key, cb) { can.core.ItemCB(panel.onaction, function(key, cb) {
can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) }) can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) })
}), can.core.CallFunc([panel.onaction, "_init"], {can: panel, cb: next, target: panel._target}) }), can.core.CallFunc([panel.onaction, "_init"], {can: panel, cb: next, target: panel._target})
panel.Conf(can.core.Value(can._root, can.core.Keys(chat.RIVER, item.name)))
panel.Conf("style") && can.page.Modify(can, panel._target, {style: panel.Conf("style")})
}, target) }, target)
}, function() { can.misc.Log(can.user.title(), ice.RUN, can) }, function() { can.misc.Log(can.user.title(), ice.RUN, can)
can.require([can.volcano], null, function(can, name, sub) { can[name] = sub }) can.require([can.volcano], null, function(can, name, sub) { can[name] = sub })
@ -331,7 +333,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
var name = (item.nick||item.name||"").split(ice.SP)[0] var name = (item.nick||item.name||"").split(ice.SP)[0]
var title = !item.help || can.user.language(can) == "en"? name: name+"("+item.help.split(ice.SP)[0]+")" var title = !item.help || can.user.language(can) == "en"? name: name+"("+item.help.split(ice.SP)[0]+")"
return can.page.Append(can, target||can._output, [{view: [can.base.join([type||"", item.name||"", item.pos||""]), html.FIELDSET], list: [ return can.page.Append(can, target||can._output, [{view: [can.base.join([type||"", item.name||"", item.pos||""]), html.FIELDSET], list: [
{text: [title, html.LEGEND]}, {view: [html.OPTION, html.FORM]}, {view: [html.ACTION]}, {view: [html.OUTPUT]}, {view: [html.STATUS]}, name && {text: [title, html.LEGEND]}, {view: [html.OPTION, html.FORM]}, {view: [html.ACTION]}, {view: [html.OUTPUT]}, {view: [html.STATUS]},
]}]) ]}])
}, },
input: function(can, item, value, target, style) { input: function(can, item, value, target, style) {
@ -483,6 +485,21 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
// can.core.Delay(list, 1000, function() { can.onlayout._init(can, target) }) // can.core.Delay(list, 1000, function() { can.onlayout._init(can, target) })
// } // }
// //
if (can.page.Select(can, target, html.FIELDSET_MAIN+".page").length > 0) {
can.page.Select(can, target, html.FIELDSET_LEFT, function(field, index) {
can.page.Modify(can, field, {style: {height: ""}})
can.page.Select(can, target, [[html.FIELDSET_LEFT, html.DIV_OUTPUT]], function(output) {
can.page.Modify(can, output, {style: {height: ""}})
})
})
can.page.Select(can, target, html.FIELDSET_MAIN, function(field, index) {
can.page.style(can, field, html.HEIGHT, "")
can.page.Select(can, target, [[html.FIELDSET_MAIN, html.DIV_OUTPUT]], function(output) {
can.page.style(can, output, html.HEIGHT, "")
})
})
return
}
var width = window.innerWidth, height = window.innerHeight var width = window.innerWidth, height = window.innerHeight
can.page.Select(can, target, can.page.Keys(html.FIELDSET_HEAD, html.FIELDSET_FOOT), function(field) { can.page.Select(can, target, can.page.Keys(html.FIELDSET_HEAD, html.FIELDSET_FOOT), function(field) {
height -= field.offsetHeight height -= field.offsetHeight
@ -500,7 +517,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
if (can.user.isMobile) { if (can.user.isMobile) {
can.page.style(can, field, "padding-top", can.user.isLandscape()? "0px": "") can.page.style(can, field, "padding-top", can.user.isLandscape()? "0px": "")
} else { } else {
can.page.style(can, field, html.HEIGHT, height) can.page.style(can, field, html.HEIGHT, height, html.WIDTH, width-1)
can.page.Select(can, target, [[html.FIELDSET_MAIN, html.DIV_OUTPUT]], function(output) { can.page.Select(can, target, [[html.FIELDSET_MAIN, html.DIV_OUTPUT]], function(output) {
height -= can.page.Select(can, field, html.DIV_ACTION)[0].offsetHeight height -= can.page.Select(can, field, html.DIV_ACTION)[0].offsetHeight
can.page.style(can, output, html.HEIGHT, height) can.page.style(can, output, html.HEIGHT, height)
@ -662,6 +679,15 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe
delay: function(can, cb) { delay: function(can, cb) {
can.core.Timer(50, cb) can.core.Timer(50, cb)
}, },
toimage: function(event, can, name, target) {
can.user.input(event, can, [{name: "name", value: name}], function(ev, button, data) {
can.require(["https://cdn.jsdelivr.net/npm/html2canvas@1.0.0-rc.5/dist/html2canvas.min.js"], function() {
html2canvas(target||can._target).then(function (canvas) {
can.page.Create(can, html.A, {href: canvas.toDataURL("image/png"), download: data.name}).click()
})
})
})
},
hidden: function(can, target, show) { hidden: function(can, target, show) {
can.page.Modify(can, target||can._target, {style: {display: show? "": html.NONE}}) can.page.Modify(can, target||can._target, {style: {display: show? "": html.NONE}})
@ -772,6 +798,7 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe
}) })
}, },
selectField: function(event, can) { selectField: function(event, can) {
if (event.ctrlKey && event.key >= "0" && event.key <= "9") { if (event.ctrlKey && event.key >= "0" && event.key <= "9") {
if (event.shiftKey) { if (event.shiftKey) {

View File

@ -195,6 +195,8 @@ Volcanos("user", {help: "用户操作", agent: {
can.onmotion.focus(can, input), document.execCommand("Copy") can.onmotion.focus(can, input), document.execCommand("Copy")
can.page.Remove(can, input), can.user.toastSuccess(can) can.page.Remove(can, input), can.user.toastSuccess(can)
can.onkeymap.prevent(event) can.onkeymap.prevent(event)
can.misc.Log("copy", text)
return text
}, },
carte: function(event, can, meta, list, cb, parent) { carte: function(event, can, meta, list, cb, parent) {
meta = meta||can.ondetail||can.onaction||{}, list = list&&list.length > 0? list: meta.list||[]; if (list.length == 0) { return } meta = meta||can.ondetail||can.onaction||{}, list = list&&list.length > 0? list: meta.list||[]; if (list.length == 0) { return }
@ -277,6 +279,10 @@ Volcanos("user", {help: "用户操作", agent: {
can.base.isFunc(cb) && !cb(event, button, data, list, args) && action.cancel() can.base.isFunc(cb) && !cb(event, button, data, list, args) && action.cancel()
}, _target: ui._target, }, _target: ui._target,
}) })
if (button === true) {
action.submit(event, can, "submit")
return action
}
can.page.Select(can, ui._target, html.INPUT_ARGS, function(item, index) { can.page.Select(can, ui._target, html.INPUT_ARGS, function(item, index) {
index == 0 && can.core.Timer(100, function() { can.onmotion.focus(can, item) }) index == 0 && can.core.Timer(100, function() { can.onmotion.focus(can, item) })

View File

@ -1,736 +1,261 @@
* { body { background-color:black; color:cyan; margin:0; padding:0; font-size:14px; }
tab-size:4; h1, h2, h3 { clear:both; }
} a { color:yellow; }
textarea {
tab-size:2; .hide, .hidden { display:none; }
} tr.show { background-color:red; }
body { div.item { cursor:pointer; }
margin:0; padding:0;
background:black;
color:cyan;
}
a {
color:yellow;
}
h1, h2, h3 {
clear:both;
}
tr.show {
background:red;
}
h1:hover, h2:hover, h3:hover {
background:green; cursor:pointer;
}
.hide {
display:none;
}
.hidden {
display:none;
}
div.item {
cursor:pointer;
}
div.code { div.code {
background-color:#343a3445; color:white; background-color:#343a3445; color:white;
font-size:14px; font-family:monospace; border:solid 3px green; padding:10px;
box-shadow: 4px 4px 20px 4px #626bd0; box-shadow:4px 4px 20px 4px #626bd0;
border:solid 3px green; padding:10px; text-align:left; white-space:pre;
text-align:left; white-space:pre; clear:both; overflow:auto;
clear:both; overflow:auto;
}
div.story {
text-align:left; white-space:pre;
} }
div.story { text-align:left; white-space:pre; }
div.story[data-type=spark] { div.story[data-type=spark] {
background-color:#2169a9a6; color:white; background-color:#2169a9a6; color:white;
font-size:14px; font-family:monospace; box-shadow:4px 4px 10px 1px #626bd0;
box-shadow:4px 4px 10px 1px #626bd0; margin:10px 0px; padding:4px 10px;
margin:10px 0px; padding:4px 10px; border-left:solid 4px blue;
border-left:solid 4px blue; overflow:auto; cursor:copy;
overflow:auto; cursor:copy;
}
div.story[data-type=spark] span:hover {
box-shadow: 4px 4px 10px 1px #29318e;
background-color:#c10c8a;
}
p.story[data-type=brief] {
font-size:20px; font-family:cursive; font-weight:bolder;
} }
select { select {
background-color:black; color:cyan; background-color:black; color:cyan;
font-size:14px; font-family:monospace; box-shadow:4px 4px 10px 1px #626bd0;
box-shadow: 4px 4px 10px 1px #626bd0; height:25px; padding:0 10px;
height:25px; padding:0 10px; cursor:pointer;
cursor:pointer;
}
option {
font-family:monospace;
}
textarea {
background-color:cyan;
width:400px; height:60px;
white-space:pre;
}
input[type=button] {
background-color:black; color:cyan;
font-family:monospace;
letter-spacing:4px;
padding-left:10px;
cursor:pointer;
}
input[type=button]:hover {
background-color:gray; color:cyan;
} }
textarea { background-color:cyan; width:400px; height:60px; white-space:pre; }
input[type=button] { background-color:black; color:cyan; cursor:pointer; }
input[type=text] { input[type=text] {
background-color:cyan; color:black; background-color:cyan; color:black;
box-shadow:4px 4px 10px 1px #626bd0; box-shadow:4px 4px 10px 1px #626bd0;
height:21px; width:82px; height:21px; width:82px;
font-size:16px; padding:0 4px;
padding:0 4px;
}
input[type=text]:hover {
background-color:white;
}
input[name=date] {
width:150px;
}
input[name=path] {
width:160px;
}
input[name=line] {
width:40px;
}
input[name=text] {
width:160px;
}
input[name=url] {
width:320px;
}
input[name=cmd] {
background-color:black; color:white;
width:240px;
}
input[name=cmd]:hover {
background-color:white; color:black;
} }
input[name=date] { width:150px; }
input[name=path] { width:160px; }
input[name=line] { width:40px; }
input[name=text] { width:160px; }
input[name=url] { width:320px; }
input[name=cmd] { width:240px; background-color:black; color:white; }
table.layout { table.layout { margin:0; border:0; padding:0; border-spacing:0; }
margin:0; border:0; padding:0; table.layout tr { margin:0; border:0; padding:0; }
border-spacing:0; table.layout th { margin:0; border:0; padding:0; }
} table.layout td { margin:0; border:0; padding:0; vertical-align:top; }
table.layout tr { table.layout td.content { position:relative; }
margin:0; border:0; padding:0; table.layout div.toggle {
} background-color:#e1aeae45;
table.layout th { height:100px; top:20%;
margin:0; border:0; padding:0; position:absolute;
}
table.layout td {
margin:0; border:0; padding:0;
vertical-align:top;
}
table.layout td.content {
position:relative;
} }
table.layout div.toggle>div { table.layout div.toggle>div {
display: table-cell; display:table-cell;
vertical-align: middle; vertical-align:middle;
color:white; color:white;
height:95px; height:95px;
}
table.layout div.toggle {
background:#e1aeae45;
height:100px; top:20%;
position:absolute;
}
table.layout div.toggle.display>div {
height:10px; width:100px;
text-align:center;
color:white;
}
table.layout div.toggle.display {
overflow:hidden;
margin-top:-12px;
height:10px; width:100px;
position:sticky; left:20%;
border-top-left-radius:10px;
border-top-right-radius:10px;
} }
table.layout div.toggle.project { table.layout div.toggle.project {
left:0px; left:0px; min-width:10px;
min-width:10px; border-top-right-radius:10px;
border-top-right-radius:10px; border-bottom-right-radius:10px;
border-bottom-right-radius:10px;
} }
table.layout div.toggle.profile { table.layout div.toggle.profile {
right:0px; right:0px; min-width:10px;
min-width:10px; border-top-left-radius:10px;
border-top-left-radius:10px; border-bottom-left-radius:10px;
border-bottom-left-radius:10px;
} }
table.layout div.toggle.display {
overflow:hidden;
margin-top:-12px;
height:10px; width:100px;
position:sticky; left:20%;
border-top-left-radius:10px;
border-top-right-radius:10px;
}
table.layout div.toggle.display>div { height:10px; width:100px; text-align:center; color:white; }
table.content { table.content { border:0; white-space:pre; overflow:auto; }
font-size:14px; font-family:monospace; table.content tr { background-color:#04272f45; }
border:0; white-space:pre; table.content th { background-color:#0fbd45; padding:2px 6px; cursor:pointer; }
overflow: auto; table.content td { padding:2px 6px; max-width:800px; overflow:auto; }
}
table.content tr {
background-color:#04272f45;
}
table.content tr.select {
background-color:green;
}
table.content tr:hover {
background-color:green;
}
table.content th {
background-color:#0fbd45;
padding:2px 6px;
cursor:pointer;
}
table.content th:hover {
background-color:red;
}
table.content td {
padding:2px 6px;
max-width:800px;
overflow:auto;
/* white-space:break-spaces; */
}
table.content td.done {
background-color:green;
}
table.content td.select {
background-color:red;
}
table.content td:hover {
background-color:red;
}
td>input[type=button][name=create] { td>input[type=button][name=create] { background-color:blue; }
background-color:blue; td>input[type=button][name=remove] { background-color:red; }
} td>input[type=button][name=start] { background-color:blue; }
td>input[type=button][name=remove] { td>input[type=button][name=stop] { background-color:red; }
background-color:red;
}
td>input[type=button][name=start] {
background-color:blue;
}
td>input[type=button][name=stop] {
background-color:red;
}
legend { legend { box-shadow:4px 4px 20px 4px #626bd0; cursor:pointer; }
box-shadow:4px 4px 20px 4px #626bd0; fieldset { margin:0; border:0; padding:0; }
cursor:pointer; fieldset>form.option { float:left; display:contents; }
} fieldset>form.option>div.item { float:left; margin-right:3px; min-height:25px; vertical-align:middle; }
fieldset { fieldset>form.option>div.item>label { display:none; }
margin:0; border:0; padding:0; fieldset>form.option>div.item input.args.char { width:20px; }
} fieldset>form.option>div.item input.args.tiny { width:40px; }
fieldset>form.option { fieldset>form.option>div.item input.args.long { width:240px; }
float:left; fieldset>form.option>div.item input.args.full { width:480px; }
display:contents; fieldset>form.option>div.item input.args[name=ID] { width:48px; }
} fieldset>form.option>div.item input.args[name=id] { width:48px; }
fieldset>form.option>div.item { fieldset>form.option>div.item input.args[name=limit] { width:48px; }
float:left; margin-right:3px; fieldset>form.option>div.item input.args[name=offset] { width:48px; }
min-height:25px; vertical-align:middle; fieldset>form.option>div.item input.args[name=offend] { width:48px; }
} fieldset>form.option>div.item.textarea { clear:both; margin-top:4px; }
fieldset>form.option>div.item>label {
display:none;
}
fieldset>form.option>div.item input.args.char {
width:20px;
}
fieldset>form.option>div.item input.args.tiny {
width:40px;
}
fieldset>form.option>div.item input.args.long {
width:240px;
}
fieldset>form.option>div.item input.args.full {
width:480px;
}
fieldset>form.option>div.item input.args[name=ID] {
width:48px;
}
fieldset>form.option>div.item input.args[name=id] {
width:48px;
}
fieldset>form.option>div.item input.args[name=limit] {
width:48px;
}
fieldset>form.option>div.item input.args[name=offset] {
width:48px;
}
fieldset>form.option>div.item input.args[name=offend] {
width:48px;
}
fieldset>form.option>div.item.textarea {
clear:both; margin-top:4px;
}
fieldset>div.action { fieldset>div.action { float:left; display:contents; }
float:left; display:contents; fieldset>div.action>div.item { float:left; margin-right:3px; vertical-align:middle; }
} fieldset>div.action>div.item.space { width:10px; }
fieldset>div.action>div.item { fieldset div.action>div.item>label { display:none; }
float:left; margin-right:3px; fieldset>div.action>div.tabs { float:left; margin:0; padding:4px; cursor:pointer; }
vertical-align:middle; fieldset>div.action>div.tabs.over { background-color:blue; color:blue; }
} fieldset>div.output { clear:both; overflow:auto; position:relative; }
fieldset>div.action>div.item.space { fieldset>div.output td.project { background-color:#435f8c8c; }
width:10px; fieldset>div.output td.project div.project { float:left; overflow:auto; min-width:88px; max-width:240px; }
} fieldset>div.output td.project div.project div.item { padding:2px 10px; text-align:left; clear:both; cursor:pointer; white-space:pre; }
fieldset div.action>div.item>label { fieldset>div.output td.project div.project div.list { margin-left:10px; }
display:none; fieldset>div.output td.profile { background-color:#71909c91; }
} fieldset>div.output td.profile div.profile { overflow:auto; }
fieldset>div.action>div.tabs { fieldset>div.status { clear:both; }
float:left; padding:4px; margin:0; fieldset>div.status>div.item { float:left; padding:4px; height:18px; }
cursor:pointer;
}
fieldset>div.action>div.tabs:hover {
border-bottom:solid 2px red;
background-color:#2e515f;
}
fieldset>div.action>div.tabs.over {
background-color:blue;
color:blue;
}
fieldset>div.action>div.tabs.select {
border-bottom:solid 2px red;
background-color:#2e515f;
}
fieldset>div.status { fieldset.panel>legend { display:none; }
clear:both; fieldset.plugin { margin:10px; padding:10px; background-color:#061c3c9e; box-shadow:2px 2px 10px 4px #626bd0; }
} fieldset.plugin>div.status { border-top:1px solid darkcyan; }
fieldset>div.status>div.item { fieldset.output { margin:0; padding:0; }
float:left; padding:4px; fieldset.output>legend { display:none; }
height:18px; fieldset.output>form.option { display:none; }
} fieldset.output>div.action { display:none; }
fieldset>div.status>div.item:hover { fieldset.output>div.status { display:none; }
background:green; fieldset.story>legend { display:block; padding:2px 20px; letter-spacing:4px; }
} fieldset.story>div.status { border-top:1px solid darkcyan; }
fieldset>div.status>div.item>label { fieldset.float { background-color:#023531cf; margin:0px; padding:0px; position:absolute; }
font-size:10px; color:#bdb8b8e0; fieldset.float>legend { float:left; }
} fieldset.float table { color:white; }
fieldset>div.output { fieldset.input { background-color:#0d4142a6; position:fixed; top:32px; }
clear:both; overflow:auto; fieldset.input legend { display:none; }
position:relative; fieldset.input div.output { max-height:400px; }
} fieldset.input table { color:white; }
fieldset>div.output div.project { fieldset.input td { word-break:keep-all; }
min-width:88px; max-width:240px; fieldset.input.date table { text-align:center; width:280px; }
float:left; overflow:auto;
}
fieldset>div.output div.project div.item {
padding:2px 10px; text-align:left;
clear:both; cursor:pointer;
white-space:pre;
}
fieldset>div.output div.project div.item.select {
background-color:red;
}
fieldset>div.output div.project div.item:hover {
background-color:red;
}
fieldset>div.output div.project div.list {
margin-left:10px;
}
fieldset>div.output td.project {
background-color:#435f8c8c;
}
fieldset>div.output td.profile {
background-color:#71909c91;
}
fieldset>div.output td.profile div.profile {
overflow:auto;
}
fieldset.panel>legend { body>div.toast { background-color:#0e3369b3; color:yellow; padding:5px; overflow:auto; position:fixed; }
display:none; body>div.toast div.title { float:left; cursor:copy; word-break:break-all; }
} body>div.toast div.duration { float:right; cursor:pointer; }
fieldset.plugin { body>div.toast div.content { text-align:center; white-space:pre; clear:both; }
box-shadow:2px 2px 10px 4px #626bd0; body>div.toast div.progress { height:10px; border:solid 2px green; margin-left:-2px; clear:both; }
background-color:#061c3c9e; body>div.toast div.progress div.current { height:10px; background-color:red; }
margin:10px; padding:10px; body>div.toast div.action div.item { float:left; }
}
fieldset.plugin>div.status {
border-top:1px solid darkcyan;
}
fieldset.output {
margin:0; padding:0;
}
fieldset.output>legend {
display:none;
}
fieldset.output>form.option {
display:none;
}
fieldset.output>div.action {
display:none;
}
fieldset.output>div.status {
display:none;
}
fieldset.story>legend {
display:block;
padding:2px 20px;
letter-spacing:4px;
}
fieldset.story>div.status {
border-top:1px solid darkcyan;
}
fieldset.float {
background-color:#023531cf;
margin:0px; padding:0px;
position:absolute;
}
fieldset.float>legend {
float:left;
}
fieldset.float table {
color:white;
}
body>fieldset.input { body>div.carte { background-color:#295b61; color:white; min-width:80px; padding:4px; position:fixed; z-index:0; }
background-color:#0d4142a6; body>div.carte div.item { padding:3px 12px; }
position:fixed; top:32px; body>div.input { background-color:#0d4142a6; position:fixed; z-index:0; }
} body>div.input div.item { float:left; }
body>fieldset.input div.output { body>div.input input[type=text] { width:171px; }
max-height:400px; body>div.input input[name=username] { width:171px; }
} body>div.input input[name=password] { width:171px; }
body>fieldset.input table {
color:white;
}
body>fieldset.input td {
word-break:keep-all;
}
body>fieldset.input.key {
}
body>fieldset.input.date {
}
body>fieldset.input.date legend {
display:none;
}
body>fieldset.input.date table {
text-align:center;
width:280px;
}
body>fieldset.input.date table td:hover {
background-color:red;
}
body>div.toast {
background:#0e3369b3; color:yellow;
padding:5px; overflow:auto;
position:fixed;
}
body>div.toast a {
color:yellow;
}
body>div.toast div.title {
float:left; word-break:break-all;
color:#cae850; font-size:14px;
cursor:copy;
}
body>div.toast div.duration {
color:gray; font-size:14px;
float:right;
cursor:pointer;
}
body>div.toast div.content {
text-align:center;
white-space:pre;
clear:both;
}
body>div.toast div.action div.item {
float:left;
}
body>div.toast div.progress {
height:10px; border:solid 2px green;
margin-left:-2px;
clear:both;
}
body>div.toast div.progress div.current {
height:10px; background:red;
}
body>div.carte {
position:fixed;
background:#295b61;
color:white;
padding:4px;
min-width:80px;
z-index:0;
}
body>div.carte div.item {
padding:3px 12px;
}
body>div.carte div.item:hover {
background:red;
}
body>div.input {
position:fixed;
background-color:#0d4142a6;
z-index:0;
}
body>div.input input[type=text] {
width:171px;
}
body>div.input input[name=username] {
width:171px;
}
body>div.input input[name=password] {
width:171px;
}
body>div.input textarea { body>div.input textarea {
box-shadow: 4px 4px 10px 1px #626bd0; box-shadow:4px 4px 10px 1px #626bd0;
border:2px inset #14a58e; border:2px inset #14a58e;
width:171px; height:60px; width:171px; height:60px;
background-color: cyan; background-color:cyan;
padding:4px; padding:4px;
}
body>div.input div.item {
float:left;
}
body>div.input.login {
padding:10px;
}
body>div.input.login input {
font-size:18px;
} }
body>div.input.login { padding:10px; }
body>div.upload { body>div.upload { background-color:black; color:yellow; position:fixed; padding:5px; }
background:black; color:yellow; body>div.upload div.item { float:left; }
position:fixed; body>div.upload div.output { border:solid 1px red; clear:both; }
padding:5px; body>div.upload div.progress { background-color:red; width:0; height:10px; }
} body>div.upload div.status div.cost { float:left; }
body>div.upload div.item { body>div.upload div.status div.show { float:right; }
float:left; body>div.upload div.status div.size { text-align:center; }
} body>div.upload input[type=file] { width:240px; }
body>div.upload div.output {
border:solid 1px red;
clear:both;
}
body>div.upload div.progress {
width:0; height:10px;
background:red;
}
body>div.upload div.status div.cost {
float:left;
}
body>div.upload div.status div.show {
float:right;
}
body>div.upload div.status div.size {
text-align:center;
}
body>div.upload input[type=file] {
width: 240px;
}
body.white { * { tab-size:4; }
background-color:rgba(5,34,56,0.75); color:white; textarea { tab-size:2; }
} input, select, option, table.content, div.item, div.code, code.story, div.story[data-type=spark] { font-size:1.1em; font-family:monospace; }
body.white select { legend { font-size:1.4em; }
background-color:#99CC66; color:white; fieldset>div.status>div.item>label { font-size:0.6em; color:#bdb8b8e0; }
border-radius:10px 10px 10px 10px; body>div.toast div.title { color:#cae850; }
border:2px solid #99CC66; body>div.toast div.duration { color:gray; }
}
body.white input[type=button] {
background-color:#FF9900; color:white;
border:2px solid #FF9900;
border-radius:10px;
}
body.white input[type=button]:hover {
background-color:#FFCC33;
border:2px solid #FFCC33;
}
body.white input[type=text] {
background-color:white; color:black;
border:2px solid #14a58e;
border-radius:6px;
}
body.white input[type=text]:hover {
background-color:cyan;
}
body.white input[name=cmd] {
background-color:black; color:white;
width:240px;
}
body.white input[name=cmd]:hover {
background-color:white; color:black;
}
body.white table { div.item.select, div.item:hover { background-color:red; }
color:black; div.tabs.select, div.tabs:hover { background-color:#2e515f; border-bottom:solid 2px red; }
} div.story[data-type=spark] span:hover { background-color:#c10c8a; box-shadow:4px 4px 10px 1px #29318e; }
body.white table tr { h1:hover, h2:hover, h3:hover { background-color:green; cursor:pointer; }
background-color:#e1f1ff1f; input[type=button]:hover { background-color:gray; color:cyan; }
} input[type=text]:hover { background-color:white; }
body.white table th { input[name=cmd]:hover { background-color:white; color:black; }
background-color:#99CCFF; table.content tr.select, table.content tr:hover { background-color:green; }
} table.content th:hover, table.content td.select, table.content td:hover { background-color:red; }
body.white table.content tr:hover { body>fieldset.input.date table td:hover { background-color:red; }
background-color:green;
}
body.white table input[type=button][value=结束] {
background:red;
}
body.white table input[type=button][value=停止] {
background:red;
}
body.white table input[type=button][value=启动] {
background:#52ce78;
}
body.white td>input[type=button][name=create] {
background-color:blue;
}
body.white td>input[type=button][name=remove] {
background-color:red;
}
body.white fieldset>div.status>div.item>label { body.white { background-color:rgba(5,34,56,0.75); color:white; }
font-size:10px; color:#cefbfbe0; body.white select { background-color:#99CC66; color:white; border:2px solid #99CC66; border-radius:10px 10px 10px 10px; }
} body.white input[type=button] { background-color:#FF9900; color:white; border:2px solid #FF9900; border-radius:10px; }
body.white fieldset.Action { body.white input[type=text] { background-color:white; color:black; border:2px solid #14a58e; border-radius:6px; }
color:black; body.white input[name=cmd] { background-color:black; color:white; width:240px; }
}
body.white fieldset.Action>div.action {
color:white;
}
body.white fieldset.Action>div.action div.item {
height:21px;
}
body.white fieldset.Action fieldset.plugin {
background-color:#ffffff78;
}
body.white fieldset.Action fieldset.plugin legend {
background-color:#339999; color:white;
border-radius:10px 10px 10px 10px;
}
body.white fieldset.Action fieldset.plugin legend:hover {
background-color:#6ee4e4;
}
body.white>div.input textarea {
border-radius:6px;
border:2px solid #14a58e;
}
body.print { body.white table { color:black; }
background-color:white; body.white table tr { background-color:#e1f1ff1f; }
color:black; body.white table th { background-color:#99CCFF; }
} body.white table td>input[type=button][value=结束] { background-color:red; }
body.print a { body.white table td>input[type=button][value=停止] { background-color:red; }
color:blue; body.white table td>input[type=button][value=启动] { background-color:#52ce78; }
} body.white table td>input[type=button][name=create] { background-color:blue; }
body.print select { body.white table td>input[type=button][name=remove] { background-color:red; }
box-shadow:0px 0px 0px 0px #626bd0;
}
body.print input[type=text] {
box-shadow:0px 0px 0px 0px #626bd0;
}
body.print div.code {
background-color:white;
}
body.print legend {
box-shadow:0px 0px 0px 0px #626bd0;
}
body.print fieldset.Header {
background-color:white;
color:black;
}
body.print fieldset.River {
background-color:white;
color:black;
}
body.print fieldset.River>div.output div.list div.item {
background-color:white;
}
body.print fieldset.River>div.output div.item.select {
background-color:white;
border:solid 2px red;
}
body.print fieldset.Action {
background-color:white;
}
body.print fieldset.Action fieldset.plugin {
padding-left:40px;
}
body.print fieldset.Footer {
background-color:white;
color:black;
}
body.mobile select { body.white fieldset>div.status>div.item>label { font-size:0.6em; color:#cefbfbe0; }
font-size:18px; body.white fieldset.Action { color:black; }
margin-top:5px; body.white fieldset.Action>div.action { color:white; }
} body.white fieldset.Action>div.action div.item { height:21px; }
body.mobile input { body.white fieldset.Action fieldset.plugin { background-color:#ffffff78; }
font-size:18px; body.white fieldset.Action fieldset.plugin legend { background-color:#339999; color:white; border-radius:10px 10px 10px 10px; }
} body.white>div.input textarea { border:2px solid #14a58e; border-radius:6px; }
body.mobile input[type=text] {
margin-top:5px; body.print { background-color:white; color:black; }
height:26px; body.print a { color:blue; }
} body.print select { box-shadow:0px 0px 0px 0px #626bd0; }
body.mobile fieldset.Header.head { body.print input[type=text] { box-shadow:0px 0px 0px 0px #626bd0; }
position:fixed; top:0; body.print div.code { background-color:white; }
width:-webkit-fill-available; body.print legend { box-shadow:0px 0px 0px 0px #626bd0; }
height:2em; font-size:24px; body.print fieldset.Header { background-color:white; color:black; }
background-color:#000000b8; body.print fieldset.River { background-color:white; color:black; }
} body.print fieldset.River>div.output div.list div.item { background-color:white; }
body.mobile fieldset.Header.head div.output { body.print fieldset.Action { background-color:white; }
height:2em; body.print fieldset.Footer { background-color:white; color:black; }
}
body.mobile fieldset.Header>div.output>div { body.white input[type=button]:hover { background-color:#FFCC33; border:2px solid #FFCC33; }
height:1.5em; body.white input[type=text]:hover { background-color:cyan; }
} body.white input[name=cmd]:hover { background-color:white; color:black; }
body.mobile fieldset.Header>div.output div.menu { body.white table.content tr:hover { background-color:green; }
height:1.5em; body.white fieldset.Action fieldset.plugin legend:hover { background-color:#6ee4e4; }
} body.print fieldset.River>div.output div.item.select { background-color:white; border:solid 2px red; }
body.mobile fieldset.Header.head div.state.time {
display:none; body.mobile select { font-size:1.6rem; height:1.6em; }
} body.mobile legend { font-size:2rem; }
body.mobile fieldset.River.left { body.mobile input { font-size:1.6rem; }
position:fixed; top:48px; body.mobile input[type=text] { margin-top:5px; height:1.2em; }
background-color:#243950bf; body.mobile fieldset.Header.head { width:-webkit-fill-available; }
min-width:240px; font-size:24px; body.mobile fieldset.Header.head { background-color:#000000b8; font-size:2rem; height:2em; position:fixed; top:0; }
/* width:-webkit-fill-available; */ body.mobile fieldset.Header.head div.output { height:2em; }
} body.mobile fieldset.Header.head>div.output>div { height:1.5em; }
body.mobile fieldset.River>div.output div.list div.item { body.mobile fieldset.Header.head>div.output div.menu { height:1.5em; }
font-size:24px; body.mobile fieldset.Header.head div.state.time { display:none; }
} body.mobile fieldset.River.left { position:fixed; top:2em; background-color:#243950bf; min-width:240px; font-size:2rem; }
body.mobile fieldset.Action.main.cmd { body.mobile fieldset.River>div.output div.list div.item { font-size:2rem; }
margin-top:0; margin-bottom:0; body.mobile fieldset.Action.main { margin-top:4em; }
} body.mobile fieldset.Action.main.cmd { margin-top:0; margin-bottom:0; }
body.mobile fieldset.Action.main { body.mobile fieldset.Footer.foot { width:-webkit-fill-available; }
margin-top:48px; margin-bottom:64px; body.mobile fieldset.Footer.foot { background-color:#000000b8; font-size:2rem; height:2em; position:fixed; bottom:0; }
} body.mobile fieldset.Footer.foot { display:none; }
body.mobile fieldset.Footer.foot { body.mobile.landscape fieldset.Header.head { position:unset; }
position:fixed; bottom:0; body.mobile.landscape fieldset.Header.head div.state.time { display:block; }
width:-webkit-fill-available; body.mobile.landscape fieldset.Action.main { margin-top:0; margin-bottom:0; }
height:64px; font-size:24px; body.mobile.landscape fieldset.Footer.foot { position:unset; }
background-color:#000000b8; body.mobile>div.carte { font-size:2rem; }
display:none; body.mobile>div.input.login input { font-size:1.2rem; }
}
body.mobile.landscape fieldset.Header.head {
position:unset;
}
body.mobile.landscape fieldset.Header.head div.state.time {
display:block;
}
body.mobile.landscape fieldset.Action.main {
margin-top:0; margin-bottom:0;
}
body.mobile.landscape fieldset.Footer.foot {
position:unset;
}
body.mobile>div.carte {
font-size:24px;
}
body.mobile>div.input.login input {
font-size:24px
}
body.en input[type=button] {
letter-spacing:2px;
}

View File

@ -1,62 +1,64 @@
fieldset.Action { fieldset.Action {
background-color:#7299a28c; background-color:#7299a28c;
min-width:160px; min-width:160px;
} }
fieldset.Action>div.action { fieldset.Action>div.action {
width:-webkit-fill-available; /* width:-webkit-fill-available; */
background-color:#159cc7b0; background-color:#159cc7b0;
display:none; height:28px; display:none; height:28px;
padding:0; margin:0; padding:0; margin:0;
position:absolute; position:absolute;
} }
fieldset.Action div.output fieldset.plugin:hover { fieldset.Action div.output fieldset.plugin:hover {
box-shadow:4px 4px 12px 6px #626bd0; box-shadow:4px 4px 12px 6px #626bd0;
} }
fieldset.Action div.output fieldset.plugin legend { fieldset.Action div.output fieldset.plugin legend {
font-size:16px; font-family:monospace; margin-top:4px 5px; padding:2px 20px;
margin-top:4px 5px; padding:2px 20px; background-color:#0c739cd9;
background-color:#0c739cd9;
} }
fieldset.Action div.output fieldset.plugin legend:hover { fieldset.Action div.output fieldset.plugin legend:hover {
background:red; background:red;
} }
fieldset.Action.tabs>div.action { fieldset.Action.tabs>div.action {
display:block; display:block;
} }
fieldset.Action.tabs>div.output { fieldset.Action.tabs>div.output {
margin-top:28px; margin-top:28px;
}
fieldset.Action.tabs>div.output>fieldset>legend {
display:none;
} }
fieldset.Action.flow>div.output fieldset.plugin { fieldset.Action.flow>div.output fieldset.plugin {
float:left; float:left;
} }
fieldset.Action.grid>div.output fieldset.plugin { fieldset.Action.grid>div.output fieldset.plugin {
float:left; overflow:auto; float:left; overflow:auto;
} }
fieldset.Action.grid>div.output fieldset.plugin>div.output { fieldset.Action.grid>div.output fieldset.plugin>div.output {
overflow:auto; overflow:auto;
} }
fieldset.Action.tabs>div.output fieldset.plugin { fieldset.Action.tabs>div.output fieldset.plugin {
display:none; display:none;
float:left; float:left;
} }
fieldset.Action.tabs>div.output fieldset.plugin.select { fieldset.Action.tabs>div.output fieldset.plugin.select {
display:block; display:block;
} }
fieldset.Action.free>div.output fieldset.plugin { fieldset.Action.free>div.output fieldset.plugin {
position:absolute; position:absolute;
} }
fieldset.Action.free>div.output fieldset.plugin.select { fieldset.Action.free>div.output fieldset.plugin.select {
display:block; display:block;
} }
fieldset.panel.cmd>div.output>fieldset.plugin { fieldset.panel.cmd>div.output>fieldset.plugin {
margin:0; padding:0; margin:0; padding:0;
} }
fieldset.panel.cmd>div.output>fieldset.plugin>legend { fieldset.panel.cmd>div.output>fieldset.plugin>legend {
float:left; padding:0 10px; margin-right:3px; float:left; padding:0 10px; margin-right:3px;
height:25px; font-size:18px; height:25px;
background-color:darkcyan; background-color:darkcyan;
cursor:pointer; cursor:pointer;
} }

View File

@ -10,7 +10,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg)
can.onimport._plugin(can, river, storm, sub, meta), skip || next() can.onimport._plugin(can, river, storm, sub, meta), skip || next()
}) })
}, function() { can.onimport._menu(can, msg), can.onkeymap._init(can) }, function() { can.onimport._menu(can, msg), can.onkeymap._init(can)
can.onaction.layout(can, can.misc.SearchOrConf(can, chat.LAYOUT)) can.onaction.onstorm_select(can, msg, river, storm)
}) })
}, },
_plugin: function(can, river, storm, sub, meta) { sub._target._meta = meta _plugin: function(can, river, storm, sub, meta) { sub._target._meta = meta
@ -18,7 +18,6 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg)
return can.run(event, can.misc.concat(can, [river, storm, meta.id||meta.index], cmds), function(msg) { return can.run(event, can.misc.concat(can, [river, storm, meta.id||meta.index], cmds), function(msg) {
can.base.isFunc(cb) && cb(msg) can.base.isFunc(cb) && cb(msg)
}) })
}, can._plugins = can.misc.concat(can, can._plugins, [sub]) }, can._plugins = can.misc.concat(can, can._plugins, [sub])
meta.id && (sub._option.dataset = sub._option.dataset||{}, sub._option.dataset.id = meta.id) meta.id && (sub._option.dataset = sub._option.dataset||{}, sub._option.dataset.id = meta.id)
@ -27,13 +26,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg)
can.page.Append(can, can._action, [{view: [chat.TABS, html.DIV, meta.name], onclick: function(event) { can.page.Append(can, can._action, [{view: [chat.TABS, html.DIV, meta.name], onclick: function(event) {
can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target) can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target)
can.onmotion.select(can, can._action, chat.DIV_TABS, event.target) can.onmotion.select(can, can._action, chat.DIV_TABS, event.target)
}}]) }, onmouseenter: sub._legend.onmouseenter}])
}, },
_menu: function(can, msg) { if (can.user.mod.isPod||can.user.isMobile) { return } _menu: function(can, msg) { if (can.user.mod.isPod||can.user.isMobile) { return }
can.setHeaderMenu(can.base.Obj(msg.Option(chat.MENUS), [ can.setHeaderMenu(can.base.Obj(msg.Option(chat.MENUS), can.Conf(chat.MENUS)||can.onaction._menus), function(event, button, list) {
[chat.LAYOUT, "auto", "flow", "grid", "tabs", "free"], can.core.CallFunc([can.onaction, list[0]], [can, button])
[ice.HELP, "tutor", "manual", "service", "devops", "refer"], })
]), function(event, button, list) { can.core.CallFunc([can.onaction, list[0]], [can, button]) })
}, },
_share: function(can, share) { share && can.run({}, ["_share", share], function(msg) { _share: function(can, share) { share && can.run({}, ["_share", share], function(msg) {
@ -88,6 +86,10 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, cb, t
can.onengine.signal(can, "onaction_touch", can.request(event)) can.onengine.signal(can, "onaction_touch", can.request(event))
}, can.base.isFunc(cb) && cb() }, can.base.isFunc(cb) && cb()
}, },
_menus: [
[chat.LAYOUT, "auto", "flow", "grid", "tabs", "free", "page", "toimage"],
[ice.HELP, "tutor", "manual", "service", "devops", "refer"],
],
_trans: { _trans: {
"layout": "布局", "layout": "布局",
"auto": "默认布局", "auto": "默认布局",
@ -95,6 +97,8 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, cb, t
"grid": "网格布局", "grid": "网格布局",
"tabs": "标签布局", "tabs": "标签布局",
"free": "自由布局", "free": "自由布局",
"page": "网页布局",
"toimage": "生成图片",
"help": "帮助", "help": "帮助",
"tutor": "入门简介", "tutor": "入门简介",
@ -122,7 +126,14 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, cb, t
}) })
}, },
onstorm_select: function(can, msg, river, storm) { can.onlayout._init(can) onstorm_select: function(can, msg, river, storm) { can.onlayout._init(can)
if (can.onmotion.cache(can, function() { return can.core.Keys(can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm)) }, can._action, can._output)) { return } if (can.onmotion.cache(can, function() {
var key = can.core.Keys(can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm))
return key
}, can._action, can._output)) {
var conf = can.core.Value(can._root, can.core.Keys(chat.RIVER, river, chat.STORM, storm))||{}
can.onaction.layout(can, conf.layout||can.misc.SearchOrConf(can, chat.LAYOUT)||"auto", true)
return
}
can.run({}, [river, storm], function(msg) { if (msg.Length() > 0) { return can.onimport._init(can, msg) } can.run({}, [river, storm], function(msg) { if (msg.Length() > 0) { return can.onimport._init(can, msg) }
can.onengine.signal(can, "onaction_notool", can.request({}, {river: river, storm: storm})) can.onengine.signal(can, "onaction_notool", can.request({}, {river: river, storm: storm}))
@ -134,7 +145,11 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, cb, t
onsize: function(can, msg, height, width) { can.Conf({height: height, width: width}) }, onsize: function(can, msg, height, width) { can.Conf({height: height, width: width}) },
help: function(can, button) { can.user.open("/help/"+button+".shy") }, help: function(can, button) { can.user.open("/help/"+button+".shy") },
layout: function(can, button) { layout: function(can, button, slient) {
if (button == "toimage") {
can.onmotion.toimage(event, can, document.title, can._output)
return
}
can.page.ClassList.del(can, can._target, can.Conf(chat.LAYOUT)) can.page.ClassList.del(can, can._target, can.Conf(chat.LAYOUT))
can.page.ClassList.add(can, can._target, can.Conf(chat.LAYOUT, button)) can.page.ClassList.add(can, can._target, can.Conf(chat.LAYOUT, button))
@ -151,7 +166,7 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, cb, t
can.getActionSize(function(height, width) { var m = parseInt(data.m)||2, n = parseInt(data.n)||2 can.getActionSize(function(height, width) { var m = parseInt(data.m)||2, n = parseInt(data.n)||2
can.page.css(can.base.replaceAll(chat.ACTION_LAYOUT_FMT, "_width", (width-(4*m+1)*html.PLUGIN_MARGIN)/m+"px", "_height", (height-(4*n+1)*html.PLUGIN_MARGIN)/n+"px")) can.page.css(can.base.replaceAll(chat.ACTION_LAYOUT_FMT, "_width", (width-(4*m+1)*html.PLUGIN_MARGIN)/m+"px", "_height", (height-(4*n+1)*html.PLUGIN_MARGIN)/n+"px"))
}) })
}) }, true)
} }
can.onlayout._init(can) can.onlayout._init(can)
}, },

View File

@ -1,36 +1,36 @@
fieldset.Footer { fieldset.Footer {
height:32px; padding:0 5px; height:32px; padding:0 5px;
clear:both; clear:both;
} }
fieldset.Footer>div.output { fieldset.Footer>div.output {
height:32px; overflow:hidden; height:32px; overflow:hidden;
} }
fieldset.Footer>div.output>div { fieldset.Footer>div.output>div {
height:22px; padding:5px; height:22px; padding:5px;
cursor:pointer; cursor:pointer;
} }
fieldset.Footer>div.output>div:hover { fieldset.Footer>div.output>div:hover {
border-top:solid 2px red; border-top:solid 2px red;
background-color:#2e515f; background-color:#2e515f;
} }
fieldset.Footer>div.output div.title { fieldset.Footer>div.output div.title {
float:left; float:left;
} }
fieldset.Footer>div.output div.state { fieldset.Footer>div.output div.state {
float:right; float:right;
} }
fieldset.Footer>div.output div.toast { fieldset.Footer>div.output div.toast {
float:right; background-color:darkcyan; float:right; background-color:darkcyan;
} }
fieldset.Footer>div.output div.cmd { fieldset.Footer>div.output div.cmd {
float:left; padding:0px; float:left; padding:0px;
} }
fieldset.Footer>div.output input[name=cmd] { fieldset.Footer>div.output input[name=cmd] {
width:120px; height:25px; width:120px; height:25px;
border-radius:0; border-radius:0;
} }
fieldset.Footer>div.output input[name=cmd]:focus { fieldset.Footer>div.output input[name=cmd]:focus {
width:320px; width:320px;
} }

View File

@ -1,43 +1,46 @@
fieldset.Header { fieldset.Header {
height:32px; padding:0 5px; font-size:1.2em;
overflow:hidden; }
z-index:10; fieldset.Header {
height:32px; padding:0 5px;
overflow:hidden;
z-index:10;
} }
fieldset.Header>div.output { fieldset.Header>div.output {
height:32px; overflow:hidden; height:32px; overflow:hidden;
} }
fieldset.Header>div.output>div { fieldset.Header>div.output>div {
height:22px; padding:5px; height:22px; padding:5px;
cursor:pointer; cursor:pointer;
} }
fieldset.Header>div.output>div:hover { fieldset.Header>div.output>div:hover {
border-bottom:solid 2px red; border-bottom:solid 2px red;
background-color:#2e515f; background-color:#2e515f;
} }
fieldset.Header>div.output>div.title { fieldset.Header>div.output>div.title {
float:left; float:left;
} }
fieldset.Header>div.output>div.state { fieldset.Header>div.output>div.state {
float:right; float:right;
} }
fieldset.Header>div.output>div.state.avatar>img { fieldset.Header>div.output>div.state.avatar>img {
height:1.4em; height:1.4em;
} }
fieldset.Header>div.output>div.search { fieldset.Header>div.output>div.search {
float:left; margin-left:20px; float:left; margin-left:20px;
} }
fieldset.Header>div.output>div.search>input { fieldset.Header>div.output>div.search>input {
height:25px; margin-top:-5px; height:25px; margin-top:-5px;
border-radius:0; border-radius:0;
} }
fieldset.Header>div.output div.menu { fieldset.Header>div.output div.menu {
height:21px; padding:5px; height:21px; padding:5px;
cursor:pointer; cursor:pointer;
float:left; float:left;
} }
fieldset.Header>div.output div.menu:hover { fieldset.Header>div.output div.menu:hover {
border-bottom:solid 2px red; border-bottom:solid 2px red;
background-color:#2e515f; background-color:#2e515f;
} }

View File

@ -1,4 +1,4 @@
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, cb, target) {
can.Conf(aaa.USERNICK, msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNAME)||can.Conf(aaa.USERNICK)) can.Conf(aaa.USERNICK, msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNAME)||can.Conf(aaa.USERNICK))
can.onmotion.clear(can) can.onmotion.clear(can)
@ -36,11 +36,10 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
}, },
_title: function(can, msg, target) { _title: function(can, msg, target) {
can.user.title(can.misc.Search(can, chat.TITLE)||can.misc.Search(can, ice.POD)) can.user.title(can.misc.Search(can, chat.TITLE)||can.misc.Search(can, ice.POD))
!can.user.isMobile && can.core.List(msg.result||["shylinux.com/x/contexts"], function(item) { !can.user.isMobile && can.core.List(can.base.getValid(msg.result, can.Conf(chat.TITLE)||["shylinux.com/x/contexts"]), function(item) {
can.page.Append(can, target, [{view: [chat.TITLE, html.DIV, item], title: "返回主页", onclick: function(event) { can.page.Append(can, target, [{view: [chat.TITLE, html.DIV, item], title: "返回主页", onclick: function(event) {
can.onaction.title(event, can) can.onaction.title(event, can)
}, onmouseenter: function(event) { }, onmouseenter: function(event) { var list = msg.Table()
var list = msg.Table()
can.user.carte(event, can, {}, can.core.List(list, function(item) { return item.name }), function(event, item, meta, index) { can.user.carte(event, can, {}, can.core.List(list, function(item) { return item.name }), function(event, item, meta, index) {
event.shiftKey? can.user.open(list[index].path): can.user.jumps(list[index].path) event.shiftKey? can.user.open(list[index].path): can.user.jumps(list[index].path)
}) })
@ -76,8 +75,8 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
msg.Option(aaa.AVATAR) && can.page.Modify(can, "div.state.avatar>img", {src: "/share/local/avatar"}) msg.Option(aaa.AVATAR) && can.page.Modify(can, "div.state.avatar>img", {src: "/share/local/avatar"})
}, },
_menus: function(can, msg, target) { _menus: function(can, msg, target) {
var menus = can.base.Obj(msg.Option(chat.MENUS)||can.Conf(chat.MENUS), [chat.HEADER, ["setting", chat.BLACK, chat.WHITE, chat.PRINT]]) can.setHeaderMenu(can.user.mod.isPod||can.user.isMobile||can.user.isExtension? [chat.RIVER]:
can.onimport.menu(can, can.user.mod.isPod||can.user.isMobile||can.user.isExtension? [chat.HEADER, chat.RIVER]: menus, function(event, button) { can.base.Obj(msg.Option(chat.MENUS)||can.Conf(chat.MENUS), can.onaction._menus), function(event, button) {
can.core.CallFunc(can.onaction[button]||function(event, can) { can.core.CallFunc(can.onaction[button]||function(event, can) {
can.run(event, [button], function(msg) { can.user.toast(can, "执行成功", can.user.trans(can, button)) }) can.run(event, [button], function(msg) { can.user.toast(can, "执行成功", can.user.trans(can, button)) })
}, {event: event, can: can, button: button}) }, {event: event, can: can, button: button})
@ -126,6 +125,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, cb, target) { Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, cb, target) {
can.base.isFunc(cb) && cb() can.base.isFunc(cb) && cb()
}, },
_menus: [["setting", chat.BLACK, chat.WHITE, chat.PRINT, "webpack", "devpack", "toimage"]],
_trans: { _trans: {
"river": "菜单", "river": "菜单",
"search": "搜索", "search": "搜索",
@ -136,6 +136,7 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, cb, t
"black": "黑色主题", "black": "黑色主题",
"white": "白色主题", "white": "白色主题",
"print": "打印主题", "print": "打印主题",
"toimage": "生成图片",
"shareuser": "共享用户", "shareuser": "共享用户",
"setnick": "设置昵称", "setnick": "设置昵称",
@ -146,7 +147,7 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, cb, t
onmain: function(can, msg) { onmain: function(can, msg) {
function init() { can.run({}, [], function(msg) { function init() { can.run({}, [], function(msg) {
can.base.Copy(can.onaction._trans, can.base.Obj(msg.Option(chat.TRANS), {})) can.base.Copy(can.onaction._trans, can.base.Obj(msg.Option(chat.TRANS), {}))
can.onimport._init(can, msg, [], function(msg) { can.onengine.signal(can, chat.ONLOGIN, msg) }, can._output) can.onimport._init(can, msg, function(msg) { can.onengine.signal(can, chat.ONLOGIN, msg) }, can._output)
can.search({}, ["River.onmotion.toggle"]) can.search({}, ["River.onmotion.toggle"])
}) }; can.search({}, ["River.onmotion.hidden"]) }) }; can.search({}, ["River.onmotion.hidden"])
@ -197,6 +198,7 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, cb, t
}) })
}) })
}, },
toimage: function(event, can, button) { can.onmotion.toimage(event, can, document.title, document.body) },
carte: function(event, can, list, cb, trans) { can.user.carte(event, can, can.onaction, list, cb) }, carte: function(event, can, list, cb, trans) { can.user.carte(event, can, can.onaction, list, cb) },
share: function(event, can, args) { share: function(event, can, args) {

View File

@ -1,31 +1,29 @@
fieldset.River { fieldset.River {
float:left; overflow:auto; float:left; overflow:auto;
} }
fieldset.River>div.output div.item { fieldset.River>div.output div.item {
border-left:solid 3px #00ffae; border-left:solid 3px #00ffae;
padding:3px 16px; padding:3px 16px;
} }
fieldset.River>div.output div.item.select { fieldset.River>div.output div.item.select {
background-color:#2e515f; background-color:#2e515f;
} }
fieldset.River>div.output div.item:hover { fieldset.River>div.output div.item:hover {
background-color:#2e515f; background-color:#2e515f;
} }
fieldset.River>div.output div.list { fieldset.River>div.output div.list {
margin-left:8px; padding-left:5px; margin-left:8px; padding-left:5px;
} }
fieldset.River>div.output div.list div.item { fieldset.River>div.output div.list div.item {
border-left:solid 3px #ccdc4c; border-left:solid 3px #ccdc4c;
background-color:#073540b5; background-color:#073540b5;
font-family:monospace;
font-size:14px;
} }
fieldset.River>div.output div.list div.item.select { fieldset.River>div.output div.list div.item.select {
background-color:#2e515f; background-color:#2e515f;
} }
fieldset.River>div.output div.list div.item:hover { fieldset.River>div.output div.list div.item:hover {
background-color:#2e515f; background-color:#2e515f;
} }
body.mobile fieldset.River { body.mobile fieldset.River {
z-index:10; z-index:10;
} }

View File

@ -21,11 +21,13 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can._main_storm = can.misc.Search(can, chat.STORM)||msg.Option(ice.MSG_STORM)||Volcanos.meta.args.storm||can._main_storm can._main_storm = can.misc.Search(can, chat.STORM)||msg.Option(ice.MSG_STORM)||Volcanos.meta.args.storm||can._main_storm
}, },
_menu: function(can, msg) { if (can.user.mod.isPod) { return } _menu: function(can, msg) { if (can.user.mod.isPod) { return }
can.setHeaderMenu(can.base.Obj(msg.Option(chat.MENUS), can.ondetail.menus), function(event, button) { can.setHeaderMenu(can.base.Obj(msg.Option(chat.MENUS), can.Conf(chat.MENUS)||can.ondetail._menus), function(event, button) {
can.core.CallFunc([can.ondetail, button], [event, can, button, can.Conf(chat.RIVER), can.Conf(chat.STORM)]) can.core.CallFunc([can.ondetail, button], [event, can, button, can.Conf(chat.RIVER), can.Conf(chat.STORM)])
}) })
}, },
_carte: function(can, list, river, storm) { if (can.user.isMobile) { return } _carte: function(can, list, river, storm) { if (can.user.isMobile) { return }
if (can.core.Value(can._root, can.core.Keys(chat.RIVER, river))) { return }
can.onaction.carte(event, can, list, function(event, button, module) { can.onaction.carte(event, can, list, function(event, button, module) {
module[button](event, can, button, river, storm) module[button](event, can, button, river, storm)
}) })
@ -57,6 +59,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
Volcanos("onengine", {help: "解析引擎", list: [], _engine: function(event, can, msg, panel, cmds, cb) { Volcanos("onengine", {help: "解析引擎", list: [], _engine: function(event, can, msg, panel, cmds, cb) {
var list = can._root.river var list = can._root.river
cmds.length == 0 && can.core.Item(list, function(key, value) { cmds.length == 0 && can.core.Item(list, function(key, value) {
if (can.core.Item(value.storm).length == 0) { return }
msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name}) // 群组列表 msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name}) // 群组列表
}); if (cmds.length != 1 && cmds[1] != chat.STORM) { return false } }); if (cmds.length != 1 && cmds[1] != chat.STORM) { return false }
@ -149,7 +152,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, cb, t
Volcanos("ondetail", {help: "菜单交互", Volcanos("ondetail", {help: "菜单交互",
list: ["共享群组", "添加应用", "添加设备", "添加用户", "重命名群组", "删除群组"], list: ["共享群组", "添加应用", "添加设备", "添加用户", "重命名群组", "删除群组"],
sublist: ["共享应用", "添加工具", "保存参数", "重命名应用", "删除应用"], sublist: ["共享应用", "添加工具", "保存参数", "重命名应用", "删除应用"],
menus: [chat.RIVER, _menus: [
["create", "创建群组", "添加应用", "添加工具", "添加设备", "创建空间"], ["create", "创建群组", "添加应用", "添加工具", "添加设备", "创建空间"],
["share", "共享群组", "共享应用", "共享工具", "共享主机", "访问空间"], ["share", "共享群组", "共享应用", "共享工具", "共享主机", "访问空间"],
], ],

View File

@ -1,31 +1,31 @@
fieldset.Search { fieldset.Search {
background:#041a25bd; padding:10px; background:#041a25bd; padding:10px;
left:0px; top:26px; left:0px; top:26px;
position:fixed; position:fixed;
display:none; display:none;
} }
body.white fieldset.Search table { body.white fieldset.Search table {
color:white; color:white;
} }
fieldset.Search input.word { fieldset.Search input.word {
width:-webkit-fill-available; width:-webkit-fill-available;
} }
fieldset.Search div.output { fieldset.Search div.output {
overflow:auto; overflow:auto;
} }
fieldset.Search div.output div.content { fieldset.Search div.output div.content {
overflow:auto; overflow:auto;
} }
fieldset.Search div.output div.content a { fieldset.Search div.output div.content a {
color:yellow; color:yellow;
} }
fieldset.Search div.output div.content table { fieldset.Search div.output div.content table {
min-width:400px; min-width:400px;
} }
fieldset.Search div.output div.display { fieldset.Search div.output div.display {
max-height:200px; max-height:200px;
overflow:auto; overflow:auto;
} }
fieldset.Search div.output div.profile { fieldset.Search div.output div.profile {
overflow:auto; overflow:auto;
} }

View File

@ -101,7 +101,7 @@ Volcanos("onaction", {help: "交互操作", list: [cli.CLEAR, cli.CLOSE, cli.DON
sub.Conf(html.HEIGHT, height+28), sub.Conf(html.WIDTH, width-60) sub.Conf(html.HEIGHT, height+28), sub.Conf(html.WIDTH, width-60)
}) })
sub.run = function(event, cmds, cb) { var msg = can.request(event, line) sub.run = function(event, cmds, cb) { var msg = can.request(event)
can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, meta.index], cmds), cb, true) can.run(event, can.misc.concat(can, [ctx.ACTION, ice.RUN, meta.index], cmds), cb, true)
} }
}, can.ui.profile) }, can.ui.profile)

View File

@ -1,13 +1,13 @@
fieldset.input.date div.action div.space { fieldset.input.date div.action div.space {
clear:both; width:0; clear:both; width:0;
} }
fieldset.input.date div.output td.prev { fieldset.input.date div.output td.prev {
color:gray; color:gray;
} }
fieldset.input.date div.output td.next { fieldset.input.date div.output td.next {
color:gray; color:gray;
} }
fieldset.input.date div.output td { fieldset.input.date div.output td {
padding:2px 12px; padding:2px 12px;
} }

View File

@ -1,25 +1,25 @@
fieldset.div div.output td { fieldset.div div.output td {
vertical-align:top; vertical-align:top;
} }
fieldset.div div.output fieldset.span>fieldset { fieldset.div div.output fieldset.span>fieldset {
float:left; overflow:auto; float:left; overflow:auto;
} }
fieldset.panel.cmd.main fieldset.div { fieldset.panel.cmd.main fieldset.div {
padding:0; padding:0;
margin:0; margin:0;
} }
fieldset.panel.cmd.main fieldset.div>legend { fieldset.panel.cmd.main fieldset.div>legend {
display: none; display:none;
} }
fieldset.panel.cmd.main fieldset.div>form.option { fieldset.panel.cmd.main fieldset.div>form.option {
display: none; display:none;
} }
fieldset.panel.cmd.main fieldset.div>div.action { fieldset.panel.cmd.main fieldset.div>div.action {
display: none; display:none;
} }
fieldset.panel.cmd.main fieldset.div div.project { fieldset.panel.cmd.main fieldset.div div.project {
display: none; display:none;
} }
fieldset.panel.cmd.main fieldset.div div.profile { fieldset.panel.cmd.main fieldset.div div.profile {
display: none; display:none;
} }

View File

@ -1,188 +1,190 @@
fieldset.inner>div.action { fieldset.inner>div.action {
float:none; display:block; float:none; display:block;
height:26px; overflow:auto; height:26px; overflow:auto;
} }
fieldset.inner>div.action div.tabs { fieldset.inner>div.action div.tabs {
border:solid 2px red; padding:2px; border:solid 2px red; padding:2px;
} }
fieldset.inner>div.action div.tabs.over { fieldset.inner>div.action div.tabs.over {
background-color:blue; background-color:blue;
} }
fieldset.inner>div.action div.tabs.select { fieldset.inner>div.action div.tabs.select {
background-color:green; background-color:green;
} }
fieldset.inner>div.output { fieldset.inner>div.output {
color:white; color:white;
} }
fieldset.inner>div.output>table.layout div.toggle.project { fieldset.inner>div.output>table.layout div.toggle.project {
min-width:15px; font-size:24px; min-width:15px; font-size:24px;
} }
fieldset.inner>div.output>table.layout div.toggle.profile { fieldset.inner>div.output>table.layout div.toggle.profile {
min-width:15px; font-size:24px; min-width:15px; font-size:24px;
} }
fieldset.inner>div.output>table.layout div.toggle.display { fieldset.inner>div.output>table.layout div.toggle.display {
height:15px; font-size:24px; height:15px; font-size:24px;
margin-top:-17px; margin-top:-17px;
} }
fieldset.inner>div.output div.project { fieldset.inner>div.output div.project {
font-size:14px; font-family:monospace; max-width:180px; overflow:auto;
max-width:180px; overflow:auto;
} }
fieldset.inner>div.output div.content { fieldset.inner>div.output div.content {
position:relative; position:relative;
padding-right:25px; padding-right:25px;
font-size:16px; font-family:monospace; font-size:1.2em; font-family:monospace;
overflow:auto; overflow:auto;
color:white; color:white;
} }
fieldset.inner>div.output div.content table.layout { fieldset.inner>div.output div.content table.layout {
width:-webkit-fill-available; width:-webkit-fill-available;
} }
fieldset.inner>div.output div.content tr.select { fieldset.inner>div.output div.content tr.select {
background-color:#0000ff6b; background-color:#0000ff6b;
} }
fieldset.inner>div.output div.content tr.select td.line { fieldset.inner>div.output div.content tr.select td.line {
background-color:blue; background-color:blue;
border:solid 1px red; border:solid 1px red;
border-right:solid 2px red; border-right:solid 2px red;
} }
fieldset.inner>div.output div.content td.line:hover { fieldset.inner>div.output div.content td.line:hover {
background-color:green; background-color:green;
} }
fieldset.inner>div.output div.content td.line { fieldset.inner>div.output div.content td.line {
text-align:right; padding:0 6px; text-align:right; padding:0 6px;
border-right:solid 2px red; border-right:solid 2px red;
} }
fieldset.inner>div.output div.content td.text { fieldset.inner>div.output div.content td.text {
text-align:left; height:20px; text-align:left; height:20px;
padding-left:10px; padding-left:10px;
white-space:pre; white-space:pre;
tab-size:4; tab-size:4;
} }
fieldset.inner>div.output div.content td.text span.comment { fieldset.inner>div.output div.content td.text span.comment {
color:cyan; background-color:blue; color:cyan; background-color:blue;
} }
fieldset.inner>div.output div.content td.text span.keyword { fieldset.inner>div.output div.content td.text span.keyword {
color:yellow; font-weight:bold; color:yellow; font-weight:bold;
} }
fieldset.inner>div.output div.content td.text span.function { fieldset.inner>div.output div.content td.text span.function {
color:cyan; font-weight:bold; color:cyan; font-weight:bold;
} }
fieldset.inner>div.output div.content td.text span.datatype { fieldset.inner>div.output div.content td.text span.datatype {
color:lightgreen; font-weight:bold; color:lightgreen; font-weight:bold;
} }
fieldset.inner>div.output div.content td.text span.constant { fieldset.inner>div.output div.content td.text span.constant {
color:magenta; color:magenta;
} }
fieldset.inner>div.output div.content td.text span.string { fieldset.inner>div.output div.content td.text span.string {
color:magenta; color:magenta;
} }
fieldset.inner>div.output div.display>div.action>div.item { fieldset.inner>div.output div.display>div.action>div.item {
float:left; float:left;
} }
fieldset.inner>div.output div.profile>div.action>div.item { fieldset.inner>div.output div.profile>div.action>div.item {
float:left; float:left;
} }
fieldset.inner>div.output div.profile>div.output { fieldset.inner>div.output div.profile>div.output {
clear:both; overflow:auto; clear:both; overflow:auto;
} }
fieldset.inner>div.output div.profile>div.output>fieldset { fieldset.inner>div.output div.profile>div.output>fieldset {
margin:0; padding:0; margin:0; padding:0;
} }
fieldset.inner>div.output div.profile>div.output>fieldset>legend { fieldset.inner>div.output div.profile>div.output>fieldset>legend {
float:left; float:left;
} }
fieldset.inner>div.output div.display>div.output { fieldset.inner>div.output div.display>div.output {
clear:both; overflow:auto; clear:both; overflow:auto;
} }
fieldset.inner>div.output div.display { fieldset.inner>div.output div.display {
border:solid 1px greenyellow; border:solid 1px greenyellow;
} }
fieldset.inner div.output fieldset.toolkit { fieldset.inner div.output fieldset.toolkit {
position:absolute; position:absolute;
bottom:0px; right:0px; bottom:0px; right:0px;
} }
fieldset.inner>div.output fieldset.toolkit>div.output>fieldset { fieldset.inner>div.output fieldset.toolkit>div.output>fieldset {
display:none; margin:0;padding:0; display:none; margin:0;padding:0;
} }
fieldset.inner>div.output fieldset.toolkit>div.output>fieldset.select { fieldset.inner>div.output fieldset.toolkit>div.output>fieldset.select {
display:block; display:block;
} }
fieldset.inner>div.output fieldset.toolkit>div.output>fieldset>legend { fieldset.inner>div.output fieldset.toolkit>div.output>fieldset>legend {
float:left; float:left;
}
fieldset.inner>div.output fieldset.toolkit>div.status {
height:32px; overflow:auto;
} }
fieldset.inner>div.output fieldset.toolkit>div.status>legend { fieldset.inner>div.output fieldset.toolkit>div.status>legend {
float:right; padding:4px; cursor:pointer; float:right; padding:4px; cursor:pointer;
padding:4px 4px; border-left:solid 2px red; padding:4px 4px; border-left:solid 2px red;
background:#0d969f8a; background:#0d969f8a;
} }
fieldset.inner>div.output fieldset.toolkit>div.status>legend.select { fieldset.inner>div.output fieldset.toolkit>div.status>legend.select {
background:green; background:green;
} }
fieldset.inner>div.output fieldset.toolkit>div.status>legend:hover { fieldset.inner>div.output fieldset.toolkit>div.status>legend:hover {
background:green; background:green;
} }
fieldset.inner>div.status { fieldset.inner>div.status {
height:26px; overflow:auto; height:26px; overflow:auto;
} }
fieldset.inner>div.status legend { fieldset.inner>div.status legend {
float:right; padding:4px; cursor:pointer; float:right; padding:4px; cursor:pointer;
padding:4px 4px; border-left:solid 2px red; padding:4px 4px; border-left:solid 2px red;
background:#0d969f8a; background:#0d969f8a;
} }
fieldset.inner>div.status legend.select { fieldset.inner>div.status legend.select {
background:green; background:green;
} }
fieldset.inner>div.status legend:hover { fieldset.inner>div.status legend:hover {
background:green; background:green;
} }
fieldset.inner.full>legend { fieldset.inner.full>legend {
display:none; display:none;
} }
fieldset.inner.full>div.action { fieldset.inner.full>div.action {
display:none; display:none;
} }
fieldset.inner.full>form.option { fieldset.inner.full>form.option {
display:none; display:none;
} }
fieldset.inner.full>div.status { fieldset.inner.full>div.status {
display:none; display:none;
} }
fieldset.inner.full>div.status { fieldset.inner.full>div.status {
display:none; display:none;
} }
fieldset.inner.full>div.output div.profile>div.action { fieldset.inner.full>div.output div.profile>div.action {
display:none; display:none;
} }
fieldset.inner.full>div.output div.display>div.action { fieldset.inner.full>div.output div.display>div.action {
display:none; display:none;
} }
body.white fieldset.inner>div.output div.project { body.white fieldset.inner>div.output div.project {
color:#a2dad2; color:#a2dad2;
} }
body.white fieldset.inner>div.output div.content { body.white fieldset.inner>div.output div.content {
background-color:#013b675c; background-color:#013b675c;
} }
body.white fieldset.inner>div.output div.content tr { body.white fieldset.inner>div.output div.content tr {
background-color:#e1f1ff00; background-color:#e1f1ff00;
} }
body.white fieldset.inner>div.output div.content tr.select { body.white fieldset.inner>div.output div.content tr.select {
background-color:#0000ff6b; background-color:#0000ff6b;
} }
body.white fieldset.inner>div.output div.content td.text span.string { body.white fieldset.inner>div.output div.content td.text span.string {
color:#a703a7; color:#a703a7;
} }
.unselectable { .unselectable {
-webkit-touch-callout: none; -webkit-touch-callout:none;
-webkit-user-select: none; -webkit-user-select:none;
-khtml-user-select: none; -khtml-user-select:none;
-moz-user-select: none; -moz-user-select:none;
-ms-user-select: none; -ms-user-select:none;
-o-user-select:none; -o-user-select:none;
user-select: none; user-select:none;
} }

View File

@ -174,7 +174,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
} }
can.page.styleWidth(can, can.ui.profile_output, can.profile_size[can.onexport.keys(can)]||(width-can.ui.project.offsetWidth)/2) can.page.styleWidth(can, can.ui.profile_output, can.profile_size[can.onexport.keys(can)]||(width-can.ui.project.offsetWidth)/2)
can.page.styleWidth(can, can.ui.content, width-can.ui.project.offsetWidth-can.ui.profile.offsetWidth-25) can.page.styleWidth(can, can.ui.content, width-can.ui.project.offsetWidth-can.ui.profile.offsetWidth-26)
if (can.page.ClassList.has(can, can._fields, "full")) { if (can.page.ClassList.has(can, can._fields, "full")) {
can.page.styleHeight(can, can.ui.profile_output, can.ui.content.offsetHeight) can.page.styleHeight(can, can.ui.profile_output, can.ui.content.offsetHeight)
@ -183,10 +183,11 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
} }
can.page.Select(can, can.ui.profile_output, html.IFRAME, function(item) { can.page.Select(can, can.ui.profile_output, html.IFRAME, function(item) {
can.page.style(can, item, can.page.style(can, item,
html.HEIGHT, can.ui.profile_output.offsetHeight-5, html.HEIGHT, can.ui.profile_output.offsetHeight-4,
html.WIDTH, can.ui.profile_output.offsetWidth-5, html.WIDTH, can.ui.profile_output.offsetWidth-5,
"margin-left", "-12px", "margin-top", "-12px", "margin-left", "-10px", "margin-top", "-10px",
"position", "absolute", "position", "absolute",
"border", "0",
) )
}) })
}, },

View File

@ -1,15 +1,15 @@
fieldset.vimer>div.output input.current { fieldset.vimer>div.output input.current {
background-color:#00000000; color:#00000000; background-color:#00000000; color:#00000000;
font-family:monospace; font-size:16px; font-size:1.2em; font-family:monospace;
position:absolute; left:0; position:absolute; left:0;
margin:0; margin-top:-2px; margin:0; margin-top:-2px;
padding:0; padding-left:9px; padding:0; padding-left:9px;
width:-webkit-fill-available; width:-webkit-fill-available;
tab-size:4; tab-size:4;
} }
fieldset.vimer>div.output input.current.insert { fieldset.vimer>div.output input.current.insert {
caret-color:yellow; caret-color:yellow;
} }
fieldset.vimer>div.output input.current.normal { fieldset.vimer>div.output input.current.normal {
caret-color:blue; caret-color:blue;
} }

View File

@ -1,30 +1,30 @@
fieldset.plan>div.output div.prepare { fieldset.plan>div.output div.prepare {
background-color:blue; background-color:blue;
color:white; color:white;
} }
fieldset.plan>div.output div.process { fieldset.plan>div.output div.process {
background-color:green; background-color:green;
color:white; color:white;
} }
fieldset.plan>div.output div.cancel { fieldset.plan>div.output div.cancel {
background-color:yellow; background-color:yellow;
color:white; color:white;
} }
fieldset.plan>div.output div.finish { fieldset.plan>div.output div.finish {
background-color:red; background-color:red;
color:white; color:white;
} }
fieldset.plan>div.output td { fieldset.plan>div.output td {
vertical-align:top; vertical-align:top;
} }
fieldset.plan>div.output td.over { fieldset.plan>div.output td.over {
border:solid 2px red; border:solid 2px red;
} }
fieldset.plan>div.output td div.date { fieldset.plan>div.output td div.date {
color:gray; color:gray;
} }
fieldset.plan>div.output div.project { fieldset.plan>div.output div.project {
max-height:400px; max-height:400px;
overflow:auto; overflow:auto;
} }

View File

@ -1,14 +1,14 @@
fieldset.draw div.output { fieldset.draw div.output {
background-color:#1b5b738c; background-color:#1b5b738c;
font-size:20px; font-size:20px;
} }
fieldset.draw div.output div.content svg { fieldset.draw div.output div.content svg {
background-color:#1b5b738c; background-color:#1b5b738c;
} }
fieldset.draw div.output div.profile div.action div.item { fieldset.draw div.output div.profile div.action div.item {
float:left; float:left;
} }
fieldset.draw div.output div.display { fieldset.draw div.output div.display {
max-height:400px; max-height:400px;
overflow:auto; overflow:auto;
} }

View File

@ -388,7 +388,7 @@ Volcanos("onaction", {help: "组件菜单", list: [
can.ondetail.label(event, can) can.ondetail.label(event, can)
}, },
}) })
Volcanos("ondetail", {help: "组件详情", list: [cli.START, ice.RUN, ice.COPY, html.LABEL, mdb.MODIFY, mdb.DELETE], Volcanos("ondetail", {help: "组件详情", list: [cli.START, ice.RUN, ice.COPY, html.LABEL, mdb.MODIFY, "toimage", mdb.DELETE],
start: function(event, can) { var target = event.target start: function(event, can) { var target = event.target
var list = [target], dict = {} var list = [target], dict = {}
for (var i = 0; i < list.length; i++) { var ship = list[i].Value("ship") for (var i = 0; i < list.length; i++) { var ship = list[i].Value("ship")
@ -440,6 +440,7 @@ Volcanos("ondetail", {help: "组件详情", list: [cli.START, ice.RUN, ice.COPY,
}) })
}, },
modify: function(event, can) { can.onimport._profile(can, event.target) }, modify: function(event, can) { can.onimport._profile(can, event.target) },
toimage: function(event, can) { can.onmotion.toimage(event, can, can.Option(nfs.PATH).split("/").pop().split(".")[0], can.svg) },
"delete": function(event, can) { var target = event.target "delete": function(event, can) { var target = event.target
if (target == can.svg) { return } if (target == can.svg) { return }
can.core.List(target.Value(ice.SHIP), function(value) { can.core.List(target.Value(ice.SHIP), function(value) {

View File

@ -1,15 +1,15 @@
fieldset.feel div.output img { fieldset.feel div.output img {
display:block; float:left; display:block; float:left;
} }
fieldset.feel div.output video { fieldset.feel div.output video {
display:block; float:left; display:block; float:left;
} }
fieldset.feel.float>legend { fieldset.feel.float>legend {
display:none; display:none;
} }
fieldset.feel.float { fieldset.feel.float {
margin:0 10px; padding:0 10px; margin:0 10px; padding:0 10px;
background-color:#4eaad0c2; background-color:#4eaad0c2;
position:absolute; position:absolute;
top:26px; top:26px;
} }

View File

@ -1,154 +1,156 @@
fieldset.word>div.output fieldset.span>fieldset { fieldset.word>div.output fieldset.span>fieldset {
float:left; overflow:auto; float:left; overflow:auto;
} }
fieldset.word>div.navmenu { fieldset.word>div.navmenu {
clear:both; clear:both;
float:left; float:left;
min-width:120px; min-width:120px;
background-color:inherit; background-color:inherit;
margin-right:10px; margin-right:10px;
overflow:auto; overflow:auto;
} }
fieldset.word>div.navmenu>div.item { fieldset.word>div.navmenu>div.item {
font-weight:bold; font-weight:bold;
font-size:24px; font-size:2em;
padding:4px 10px; padding:4px 10px;
} }
fieldset.word>div.navmenu>div.list>div.item { fieldset.word>div.navmenu>div.list>div.item {
font-weight:bold; font-weight:bold;
font-size:18px; font-size:1.6em;
} }
fieldset.word>div.navmenu div.item { fieldset.word>div.navmenu div.item {
font-family:cursive; font-family:cursive;
padding:4px 10px; padding:4px 10px;
} }
fieldset.word>div.navmenu div.item.select { fieldset.word>div.navmenu div.item.select {
background-color:red; background-color:red;
} }
fieldset.word>div.navmenu div.item:hover { fieldset.word>div.navmenu div.item:hover {
cursor:pointer; cursor:pointer;
background-color:red; background-color:red;
} }
fieldset.word>div.navmenu div.list { fieldset.word>div.navmenu div.list {
margin-left:20px; margin-left:20px;
} }
fieldset.word a { fieldset.word a {
word-break:break-word; word-break:break-word;
} }
fieldset.word ul.story[data-type=premenu] { fieldset.word ul.story[data-type=premenu] {
cursor:pointer; cursor:pointer;
} }
fieldset.word ul.story[data-type=premenu] li:hover { fieldset.word ul.story[data-type=premenu] li:hover {
background:cyan; background:cyan;
color:blue; color:blue;
} }
fieldset.word ul.story[data-type=endmenu] { fieldset.word ul.story[data-type=endmenu] {
clear:both; clear:both;
} }
fieldset.word ul.story li.H2 { fieldset.word ul.story li.H2 {
font-weight:bold; font-weight:bold;
font-size:20px; font-size:2em;
} }
fieldset.word br.story { fieldset.word br.story {
clear:both; clear:both;
} }
fieldset.word p.story { fieldset.word p.story {
white-space:pre; white-space:pre;
} }
fieldset.word p.story[data-name=inner] { fieldset.word p.story[data-name=inner] {
padding:4px 10px; margin:10px 0px; padding:4px 10px; margin:10px 0px;
background-color:#4b6c8a7a; background-color:#4b6c8a7a;
border-left:solid 4px blue; border-left:solid 4px blue;
} }
fieldset.word p.story[data-name=inner]:hover { fieldset.word p.story[data-name=inner]:hover {
background-color:#c10c8a; background-color:#c10c8a;
cursor:copy; cursor:copy;
} }
fieldset.word svg.story { fieldset.word svg.story {
display:block; float:left; display:block; float:left;
} }
fieldset.word code.story { fieldset.word code.story {
display:block; border:solid 3px green; display:block; border:solid 3px green;
color:white; background-color:#272822; color:white; background-color:#272822;
font-size:14px; font-family:monospace; max-height:640px; overflow:auto;
max-height:640px; overflow:auto; padding:10px; white-space:pre;
padding:10px; white-space:pre; clear:both;
clear:both;
} }
fieldset.word video.story { fieldset.word video.story {
max-height:320px; max-height:320px;
} }
fieldset.word fieldset.story { fieldset.word fieldset.story {
margin:10px; border:0; margin:10px; border:0;
clear:both; float:left; clear:both; float:left;
box-shadow:4px 4px 10px 1px #626bd0; box-shadow:4px 4px 10px 1px #626bd0;
} }
fieldset.word fieldset.story:hover { fieldset.word fieldset.story:hover {
box-shadow:12px 12px 12px 6px #5764efd1; box-shadow:12px 12px 12px 6px #5764efd1;
} }
fieldset.word.float { fieldset.word.float {
width:-webkit-fill-available; width:-webkit-fill-available;
position:fixed; left:0; top:0; position:fixed; left:0; top:0;
background-color:aliceblue; background-color:aliceblue;
color:black; color:black;
} }
fieldset.word.float>div.output { fieldset.word.float>div.output {
background-color:#f0f8ff80; background-color:#f0f8ff80;
overflow:auto; overflow:auto;
padding:20px; padding:20px;
} }
fieldset.word.float>div.output>div.project { fieldset.word.float>div.output>div.project {
background:cornsilk; background:cornsilk;
left:0; top:25px; left:0; top:25px;
position:fixed; position:fixed;
padding:10px; padding:10px;
z-index:100; z-index:100;
} }
fieldset.word.float div.content div.page { fieldset.word.float div.content div.page {
background-color:#194c79d4; background-color:#194c79d4;
margin-top:30px; margin-top:30px;
display:none; display:none;
} }
fieldset.word.float div.content div.page.show { fieldset.word.float div.content div.page.show {
display:block; display:block;
} }
fieldset.word.float div.content.grid div.page { fieldset.word.float div.content.grid div.page {
float:left; display:block; float:left; display:block;
width:200px; height:200px; width:200px; height:200px;
overflow:auto; margin:10px; overflow:auto; margin:10px;
background-color:#a4cbecb5; background-color:#a4cbecb5;
} }
fieldset.word.float h1 { fieldset.word.float h1 {
text-align:center; text-align:center;
} }
fieldset.word.float h2 { fieldset.word.float h2 {
text-align:center; text-align:center;
} }
fieldset.word.float h3 { fieldset.word.float h3 {
text-align:center; text-align:center;
} }
fieldset.word.float div.status { fieldset.word.float div.status {
clear:none; clear:none;
} }
fieldset.word.float div.status label { fieldset.word.float div.status label {
color:black; color:black;
} }
fieldset.word.float div.status span { fieldset.word.float div.status span {
color:black; color:black;
} }
fieldset.panel.cmd fieldset.word>legend {
display:none;
}
fieldset.panel.cmd fieldset.word>form.option { fieldset.panel.cmd fieldset.word>form.option {
display:none; display:none;
} }
fieldset.panel.cmd fieldset.word>div.action { fieldset.panel.cmd fieldset.word>div.action {
display:none; display:none;
} }
fieldset.panel.cmd fieldset.word>div.status { fieldset.panel.cmd fieldset.word>div.status {
display:none; display:none;
} }

View File

@ -72,7 +72,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf,
}, },
}) })
Volcanos("onaction", {help: "交互操作", list: [ Volcanos("onaction", {help: "交互操作", list: [
"共享工具", "生成链接", "生成脚本", "清空参数", "刷新数据", [ "共享工具", "打开链接", "生成链接", "生成脚本", "生成图片", "清空参数", "刷新数据", [
"其它 ->", "复制数据", "下载数据", "清空数据", "删除工具", "摄像头", "生成图片", "其它 ->", "复制数据", "下载数据", "清空数据", "删除工具", "摄像头", "生成图片",
], ],
], _init: function(can, msg, list, cb, target) {}, ], _init: function(can, msg, list, cb, target) {},
@ -84,12 +84,20 @@ Volcanos("onaction", {help: "交互操作", list: [
mdb.NAME, meta.index, mdb.TEXT, JSON.stringify(can.Input([], true)), mdb.NAME, meta.index, mdb.TEXT, JSON.stringify(can.Input([], true)),
]) ])
}, },
"生成链接": function(event, can) { var meta = can.Conf() "打开链接": function(event, can) { var meta = can.Conf()
var pre = "/chat/cmd/"; if (can.user.mod.isPod) { pre = "/chat/pod/"+can.misc.Search(can, ice.POD)+"/cmd/" } var pre = "/chat/cmd/"; if (can.user.mod.isPod) { pre = "/chat/pod/"+can.misc.Search(can, ice.POD)+"/cmd/" }
var args = can.Option(); args._path = pre+(meta.index||can.core.Keys(meta.ctx, meta.cmd)) var args = can.Option(); args._path = pre+(meta.index||can.core.Keys(meta.ctx, meta.cmd))
args._path.indexOf("/cmd/web.wiki.word") > -1 && (args = {_path: pre+args.path}) args._path.indexOf("/cmd/web.wiki.word") > -1 && (args = {_path: pre+args.path})
can.onmotion.share(event, can, [], [mdb.LINK, can.misc.MergeURL(can, args)]) can.user.open(can.misc.MergeURL(can, args))
},
"生成链接": function(event, can) { var meta = can.Conf()
var pre = "/chat/cmd/"; if (can.user.mod.isPod) { pre = "/chat/pod/"+can.misc.Search(can, ice.POD)+"/cmd/" }
var args = can.Option(); args._path = pre+(meta.index||can.core.Keys(meta.ctx, meta.cmd))
args._path.indexOf("/cmd/web.wiki.word") > -1 && (args = {_path: pre+args.path})
var url = can.misc.MergeURL(can, args)
can.user.copy(event, can, url)
can.onmotion.share(event, can, [], [mdb.LINK, url])
}, },
"生成脚本": function(event, can, button) { var conf = can.Conf() "生成脚本": function(event, can, button) { var conf = can.Conf()
var args = can.Input("", true).join(ice.SP); var list = [ var args = can.Input("", true).join(ice.SP); var list = [
@ -104,6 +112,7 @@ Volcanos("onaction", {help: "交互操作", list: [
can.onmotion.story.auto(can, ui._target) can.onmotion.story.auto(can, ui._target)
can.user.copy(event, can, list[0]) can.user.copy(event, can, list[0])
}, },
"生成图片": function(event, can) { can.onmotion.toimage(event, can, can._name) },
"保存参数": function(event, can) { can.search(event, ["River.ondetail.保存参数"]) }, "保存参数": function(event, can) { can.search(event, ["River.ondetail.保存参数"]) },
"清空参数": function(event, can) { "清空参数": function(event, can) {
can.page.SelectArgs(can, can._option, "", function(item) { return item.value = "" }) can.page.SelectArgs(can, can._option, "", function(item) { return item.value = "" })
@ -128,9 +137,9 @@ Volcanos("onaction", {help: "交互操作", list: [
}, },
"清空数据": function(event, can) { can.onmotion.clear(can, can._output) }, "清空数据": function(event, can) { can.onmotion.clear(can, can._output) },
"删除工具": function(event, can) { can.page.Remove(can, can._target) }, "删除工具": function(event, can) { can.page.Remove(can, can._target) },
"生成图片": function(event, can) { // "生成图片": function(event, can) {
can.user.toPNG(can, "hi.png", can._target.outerHTML, can.Conf(html.HEIGHT), can.Conf(html.WIDTH)) // can.user.toPNG(can, "hi.png", can._target.outerHTML, can.Conf(html.HEIGHT), can.Conf(html.WIDTH))
}, // },
"摄像头": function(event, can) { "摄像头": function(event, can) {
var constraints = {audio: false, video: {width: 200, height: 200}} var constraints = {audio: false, video: {width: 200, height: 200}}

View File

@ -1,25 +1,23 @@
fieldset.plugin div.output div.item div.item { fieldset.plugin div.output div.item div.item {
border:solid 1px #0000000d; border:solid 1px #0000000d;
border-left:dashed 1px lightblue; border-left:dashed 1px lightblue;
margin-left:5px; padding-left:15px; margin-left:5px; padding-left:15px;
font-size:14px; font-family:monospace; cursor:pointer;
cursor:pointer;
} }
fieldset.plugin div.output div.item div.item:hover { fieldset.plugin div.output div.item div.item:hover {
border:solid 1px red; border:solid 1px red;
} }
fieldset.plugin div.output div.item span.nonce { fieldset.plugin div.output div.item span.nonce {
font-size:12px; font-family:auto; color:lightblue;
color:lightblue; cursor:pointer;
cursor:pointer;
} }
fieldset.plugin div.output div.item span.key { fieldset.plugin div.output div.item span.key {
color:yellow; color:yellow;
} }
fieldset.plugin div.output div.item span.string { fieldset.plugin div.output div.item span.string {
color:magenta; color:magenta;
} }
fieldset.plugin div.output div.item span.const { fieldset.plugin div.output div.item span.const {
color:cyan; color:cyan;
} }

View File

@ -1,9 +1,9 @@
fieldset.draw.spide div.output { fieldset.draw.spide div.output {
font-family:monospace; font-family:monospace;
} }
fieldset.draw.spide div.output div.toggle { fieldset.draw.spide div.output div.toggle {
display:none; display:none;
} }
fieldset.inner.float div.output { fieldset.inner.float div.output {
background-color:#332f1ecf; background-color:#332f1ecf;
} }

View File

@ -143,7 +143,7 @@ Volcanos("ondetail", {help: "用户交互", list: [],
can.request(event, node.meta) can.request(event, node.meta)
} }
var msg = can.request(event, can.Option()) var msg = can.request(event, can.Option())
can.run(event, can.base.Obj(can._args.prefix, []).concat([can.Option(mdb.NAME)||"", tree.file||"", tree.name]), function(msg) { can.run(event, can.base.Obj(can._args.prefix, []).concat([can.Option("repos")||"", tree.file||"", tree.name]), function(msg) {
if (msg.Length() == 0) { if (msg.Length() == 0) {
return can.ondetail.plugin(can, tree, {}, "web.code.inner", [can.dir_root, tree.file, tree.line], [ctx.ACTION, "inner"]) return can.ondetail.plugin(can, tree, {}, "web.code.inner", [can.dir_root, tree.file, tree.line], [ctx.ACTION, "inner"])
} }

View File

@ -1,4 +1,4 @@
fieldset.draw.trend div.output div.toggle { fieldset.draw.trend div.output div.toggle {
display:none; display:none;
} }

View File

@ -340,6 +340,11 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args:
ConfWidth: function(value) { return can.Conf(html.WIDTH, value) }, ConfWidth: function(value) { return can.Conf(html.WIDTH, value) },
Conf: function(key, value) { var res = can._conf Conf: function(key, value) { var res = can._conf
for (var i = 0; i < arguments.length; i += 2) { for (var i = 0; i < arguments.length; i += 2) {
if (typeof key == lang.OBJECT) {
res = can.core.Value(can._conf, arguments[i])
i--
return
}
res = can.core.Value(can._conf, arguments[i], arguments[i+1]) res = can.core.Value(can._conf, arguments[i], arguments[i+1])
} }
return res return res

View File

@ -1,211 +1,211 @@
fieldset.contexts { fieldset.contexts {
color:white; color:white;
position:fixed; position:fixed;
background:radial-gradient(black, #00000073); background:radial-gradient(black, #00000073);
top:100px; top:100px;
left:100px; left:100px;
z-index:10; z-index:10;
} }
fieldset.contexts legend { fieldset.contexts legend {
text-align:left; text-align:left;
cursor:pointer; cursor:pointer;
background:radial-gradient(black, #00000073); background:radial-gradient(black, #00000073);
} }
fieldset.contexts form.option div.item { fieldset.contexts form.option div.item {
float:left; margin-right:3px; float:left; margin-right:3px;
min-height:25px; vertical-align:middle; min-height:25px; vertical-align:middle;
} }
fieldset.contexts div.output { fieldset.contexts div.output {
clear:both; clear:both;
overflow:auto; overflow:auto;
} }
fieldset.contexts div.status div.item { fieldset.contexts div.status div.item {
float:left; padding:4px; float:left; padding:4px;
height:18px; height:18px;
} }
fieldset.contexts div.status div.item>label { fieldset.contexts div.status div.item>label {
font-size:10px; font-size:10px;
/* color:#504242e0; */ /* color:#504242e0; */
} }
fieldset.contexts select { fieldset.contexts select {
height:25px; font-size:14px; height:25px; font-size:14px;
box-shadow: 4px 4px 10px 1px #626bd0; box-shadow:4px 4px 10px 1px #626bd0;
background-color:black; color:cyan; background-color:black; color:cyan;
padding:0 10px; padding:0 10px;
cursor:pointer; cursor:pointer;
} }
fieldset.contexts option { fieldset.contexts option {
font-family:monospace; font-family:monospace;
} }
fieldset.contexts textarea { fieldset.contexts textarea {
width:400px; height:60px; width:400px; height:60px;
background-color:cyan; background-color:cyan;
} }
fieldset.contexts input[type=button] { fieldset.contexts input[type=button] {
background-color:black; color:cyan; background-color:black; color:cyan;
letter-spacing:4px; letter-spacing:4px;
padding-left:10px; padding-left:10px;
cursor:pointer; cursor:pointer;
font-family:monospace; font-family:monospace;
} }
fieldset.contexts input[type=button]:hover { fieldset.contexts input[type=button]:hover {
background-color:gray; color:cyan; background-color:gray; color:cyan;
} }
fieldset.contexts input[type=text] { fieldset.contexts input[type=text] {
width:82px; height:21px; font-size:16px; width:82px; height:21px; font-size:16px;
box-shadow:4px 4px 10px 1px #626bd0; box-shadow:4px 4px 10px 1px #626bd0;
background-color:cyan; color:black; background-color:cyan; color:black;
padding:0 4px; padding:0 4px;
} }
fieldset.contexts input[type=text]:hover { fieldset.contexts input[type=text]:hover {
background-color:white; background-color:white;
} }
fieldset.contexts table.content a { fieldset.contexts table.content a {
color:white; color:white;
} }
fieldset.contexts table.content { fieldset.contexts table.content {
color:white; color:white;
} }
fieldset.contexts div.code { fieldset.contexts div.code {
background-color:#343a3445; color:white; background-color:#343a3445; color:white;
font-size:14px; font-family:monospace; font-size:14px; font-family:monospace;
box-shadow: 4px 4px 20px 4px #626bd0; box-shadow:4px 4px 20px 4px #626bd0;
padding:10px; border:solid 3px green; padding:10px; border:solid 3px green;
text-align:left; white-space:pre; text-align:left; white-space:pre;
overflow:auto; overflow:auto;
clear:both; clear:both;
} }
div.input.contexts input { div.input.contexts input {
color:black; color:black;
} }
table.content { table.content {
border:0; white-space:pre; border:0; white-space:pre;
font-size:14px; font-family:monospace; font-size:14px; font-family:monospace;
text-align:left; text-align:left;
overflow: auto; overflow:auto;
} }
table.content tr { table.content tr {
background-color:#04272f45; background-color:#04272f45;
} }
table.content tr.select { table.content tr.select {
background-color:green; background-color:green;
} }
table.content tr:hover { table.content tr:hover {
background-color:green; background-color:green;
} }
table.content th { table.content th {
background-color:#0fbd45; background-color:#0fbd45;
padding:2px 6px; padding:2px 6px;
cursor:pointer; cursor:pointer;
} }
table.content th:hover { table.content th:hover {
background-color:red; background-color:red;
} }
table.content td { table.content td {
padding:2px 6px; padding:2px 6px;
overflow:auto; overflow:auto;
} }
table.content td.done { table.content td.done {
background-color:green; background-color:green;
} }
table.content td.select { table.content td.select {
background-color:red; background-color:red;
} }
table.content td:hover { table.content td:hover {
background-color:red; background-color:red;
} }
body>div.toast { body>div.toast {
background:#0e3369b3; color:yellow; background:#0e3369b3; color:yellow;
position:fixed; position:fixed;
padding:5px; overflow:auto; padding:5px; overflow:auto;
z-index:10; z-index:10;
} }
body>div.toast a { body>div.toast a {
color:yellow; color:yellow;
} }
body>div.toast div.title { body>div.toast div.title {
float:left; word-break:break-all; float:left; word-break:break-all;
color:#cae850; font-size:14px; color:#cae850; font-size:14px;
cursor:copy; cursor:copy;
} }
body>div.toast div.duration { body>div.toast div.duration {
color:gray; font-size:14px; color:gray; font-size:14px;
float:right; float:right;
cursor:pointer; cursor:pointer;
} }
body>div.toast div.content { body>div.toast div.content {
text-align:center; text-align:center;
white-space:pre; white-space:pre;
clear:both; clear:both;
} }
body>div.toast div.action div.item { body>div.toast div.action div.item {
float:left; float:left;
} }
body>div.toast div.progress { body>div.toast div.progress {
height:10px; border:solid 2px green; height:10px; border:solid 2px green;
margin-left:-2px; margin-left:-2px;
clear:both; clear:both;
} }
body>div.toast div.progress div.current { body>div.toast div.progress div.current {
height:10px; background:red; height:10px; background:red;
} }
body>div.carte { body>div.carte {
position:fixed; position:fixed;
background:#295b61; background:#295b61;
color:white; color:white;
padding:4px; padding:4px;
min-width:80px; min-width:80px;
z-index:10; z-index:10;
} }
body>div.carte div.item { body>div.carte div.item {
padding:3px 12px; padding:3px 12px;
} }
body>div.carte div.item:hover { body>div.carte div.item:hover {
background:red; background:red;
} }
body>div.input { body>div.input {
position:fixed; position:fixed;
background-color:#0d4142a6; background-color:#0d4142a6;
z-index:10; z-index:10;
} }
body>div.input input[type=text] { body>div.input input[type=text] {
width:171px; width:171px;
} }
body>div.input input[name=username] { body>div.input input[name=username] {
width:171px; width:171px;
} }
body>div.input input[name=password] { body>div.input input[name=password] {
width:171px; width:171px;
} }
body>div.input textarea { body>div.input textarea {
box-shadow: 4px 4px 10px 1px #626bd0; box-shadow:4px 4px 10px 1px #626bd0;
border:2px inset #14a58e; border:2px inset #14a58e;
width:171px; height:60px; width:171px; height:60px;
background-color: cyan; background-color:cyan;
padding:4px; padding:4px;
} }
body>div.input div.item { body>div.input div.item {
float:left; float:left;
} }
body>div.input.login { body>div.input.login {
padding:10px; padding:10px;
} }
body>div.input.login input { body>div.input.login input {
font-size:18px; font-size:18px;
} }
div.input input[type=button] { div.input input[type=button] {
background-color:black; color:cyan; background-color:black; color:cyan;
letter-spacing:4px; letter-spacing:4px;
padding-left:10px; padding-left:10px;
cursor:pointer; cursor:pointer;
font-family:monospace; font-family:monospace;
} }
div.input input[type=button]:hover { div.input input[type=button]:hover {
background-color:gray; color:cyan; background-color:gray; color:cyan;
} }