1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-04-14 10:20:48 +08:00
parent ce07afec9f
commit be7a780b67
6 changed files with 31 additions and 26 deletions

View File

@ -47,7 +47,7 @@ table.content.full { width:100%; }
div.code { background-color:#5066b945; font-size:14px; } div.code { background-color:#5066b945; font-size:14px; }
div.story[data-type=spark] { padding:5px 10px; border-left:blue solid 5px; } div.story[data-type=spark] { padding:5px 10px; border-left:blue solid 5px; }
table.content div.story[data-type=spark] { margin:0; } table.content div.story[data-type=spark] { margin:0; }
h1 { text-align:center; margin:20px 0; } h2 { margin:20px 0; } h3 { margin:20px 0; } ul { padding-left:40px; margin:20px 0; } h1 { text-align:center; margin:20px 0; } h2 { margin:20px 0; } h3 { margin:20px 0; } ul { text-align:left; padding-left:40px; margin:20px 0; }
hr, td.hr { border-bottom:gray dashed 1px; margin:5px; } hr, td.hr { border-bottom:gray dashed 1px; margin:5px; }
/* fieldset */ /* fieldset */
fieldset.contexts { position:fixed; } fieldset.contexts { position:fixed; }
@ -134,8 +134,13 @@ body.dark span.keyword { color:royalblue; }
div.item.text { position:relative; } div.item.text { position:relative; }
div.item.text>span.icon.delete { font-size:20px; line-height:28px; position:absolute; top:2px; right:10px; visibility:hidden; } div.item.text>span.icon.delete { font-size:20px; line-height:28px; position:absolute; top:2px; right:10px; visibility:hidden; }
div.item.text:hover>span.icon.delete { visibility:visible; } div.item.text:hover>span.icon.delete { visibility:visible; }
fieldset.float div.text:hover>span.icon.delete { visibility:hidden; }
fieldset.float>form.option>div.text>input { display:none; }
fieldset.float>form.option>div.text>span { display:none; }
fieldset.float>form.option>div.text>span.value { padding:7px; height:32px; display:block; }
fieldset:not(.float)>form.option>div.text>span.value { display:none; }
form.option>div.icon:first-child { margin-left:-5px; } form.option>div.icon:first-child { margin-left:-5px; }
form.option>div.icon { line-height:30px; font-size:26px; padding:0 5px; height:32px; display:none; } form.option>div.icon { line-height:30px; font-size:26px; padding:0 5px; height:32px; }
form.option>div.icon.refresh { line-height:28px; } form.option>div.icon.refresh { line-height:28px; }
form.option>div.icon.goback { line-height:28px; } form.option>div.icon.goback { line-height:28px; }
form.option>div.icon.play { line-height:28px; } form.option>div.icon.play { line-height:28px; }
@ -143,23 +148,16 @@ form.option>div.icon.next { font-size:18px; }
form.option>div.icon.prev { font-size:18px; } form.option>div.icon.prev { font-size:18px; }
form.option>div.icon.lt { font-size:20px; line-height:30px; } form.option>div.icon.lt { font-size:20px; line-height:30px; }
form.option>div.icon:hover { background-color:white; } form.option>div.icon:hover { background-color:white; }
form.option>div.item.button>span.icon { line-height:30px; font-size:26px; padding:0 5px; height:32px; display:none; } form.option>div.button>span.icon { line-height:30px; font-size:26px; padding:0 5px; height:32px; }
body:not(.mobile) fieldset:not(.story):not(.float):not(.full):not(.cmd)>form.option>div.button>span.icon { display:none; }
body:not(.mobile) fieldset:not(.story):not(.float):not(.full):not(.cmd)>form.option>div.icon { display:none; }
fieldset.plug>form.option>div.icon { margin-left:5px; } fieldset.plug>form.option>div.icon { margin-left:5px; }
fieldset.story>form.option>div.icon { display:block; } fieldset.story>form.option>div.button.icons>input { display:none; }
fieldset.story>form.option>div.item.button.icons { display:none; } fieldset.float>form.option>div.button.icons>input { display:none; }
fieldset.story>form.option>div.item.button>span.icon { display:unset; } fieldset.full>form.option>div.button.icons>input { display:none; }
fieldset:not(.float)>form.option>div.text>span.value { display:none; } fieldset.cmd>form.option>div.button.icons>input { display:none; }
fieldset.float div.item.text:hover>span.icon.delete { visibility:hidden; } body.mobile fieldset>form.option>div.button.icons>input { display:none; }
fieldset.float>form.option>div.icon { display:block; } body.mobile fieldset>form.option>div.button>span.icon { line-height:38px; font-size:38px; height:38px; }
fieldset.float>form.option>div.item.button.icons { display:none; }
fieldset.float>form.option>div.text>span.value { padding:7px; height:32px; display:block; }
fieldset.float>form.option>div.text>input { display:none; }
fieldset.full>form.option>div.icon { display:block; }
fieldset.full>form.option>div.icon.delete { display:block; }
fieldset.full>form.option>div.item.button.icons { display:none; }
fieldset.cmd>form.option>div.icon { display:block; }
fieldset.cmd>form.option>div.item.button>span.icon { display:unset; }
fieldset.cmd>form.option>div.item.button.icons { display:none; }
body.windows form.option>div.icon { font-size:21px; } body.windows form.option>div.icon { font-size:21px; }
body.windows fieldset.inner.cmd>div.output>div.layout.flow>div.tabs div.website.icon { line-height:36px; } body.windows fieldset.inner.cmd>div.output>div.layout.flow>div.tabs div.website.icon { line-height:36px; }
/* svg */ /* svg */
@ -267,7 +265,7 @@ body.white h2:hover { background-color:#4682b46b; }
body.white h3:hover { background-color:#4682b46b; } body.white h3:hover { background-color:#4682b46b; }
body.light fieldset.panel:not(.main) { background-color:#4a566e; color:#d0d3da; } body.light fieldset.panel:not(.main) { background-color:#4a566e; color:#d0d3da; }
body.light fieldset.panel:not(.main) label { color:#d0d3da; } body.light fieldset.panel:not(.main) label { color:#d0d3da; }
body.light fieldset.panel:not(.main) input { background-color:#6b7488; color:white; border-radius:5px; } body.light fieldset.panel:not(.main):not(.auto) input { background-color:#6b7488; color:white; border-radius:5px; }
body.light fieldset.panel:not(.main) input::placeholder { background-color:#6b7488; color:#d0d3da; } body.light fieldset.panel:not(.main) input::placeholder { background-color:#6b7488; color:#d0d3da; }
body.light fieldset.panel:not(.main):not(.auto) div.item.select { background-color:#2b3446; color:white; } body.light fieldset.panel:not(.main):not(.auto) div.item.select { background-color:#2b3446; color:white; }
body.light fieldset.panel:not(.main):not(.auto) div.item:hover { background-color:#2b3446; color:white; } body.light fieldset.panel:not(.main):not(.auto) div.item:hover { background-color:#2b3446; color:white; }
@ -303,13 +301,13 @@ body.mobile select { font-size:1.4rem; height:38px; }
body.mobile input { font-size:1.2rem; height:38px; } body.mobile input { font-size:1.2rem; height:38px; }
body.mobile textarea { font-size:1.2rem; } body.mobile textarea { font-size:1.2rem; }
body.mobile form.option>div.item { margin:0; height:38px; } body.mobile form.option>div.item { margin:0; height:38px; }
body.mobile form.option>div.item.icon { font-size:32px; padding:0 10px; } body.mobile form.option>div.item.icon { font-size:38px; padding:5px 10px; }
body.mobile form.option>div.item.textarea { height:unset; } body.mobile form.option>div.item.textarea { height:unset; }
body.mobile div.action>div.item { margin:0; height:38px; } body.mobile div.action>div.item { margin:0; height:38px; }
body.mobile div.carte div.item { font-size:1.6rem; } body.mobile div.carte div.item { font-size:1.6rem; }
body.mobile table.content th { padding:6px; } body.mobile table.content th { padding:6px; }
body.mobile table.content { width:100%; } body.mobile table.content { width:100%; }
body.mobile fieldset:not(.panel):not(.input)>div.action { display:none; } body.mobile fieldset:not(.panel):not(.input):not(.play)>div.action { display:none; }
body.mobile fieldset.plugin:not(.float):not(.full):not(.cmd) { margin:10px 0; } body.mobile fieldset.plugin:not(.float):not(.full):not(.cmd) { margin:10px 0; }
body.mobile fieldset.Header { padding:0; width:100%; position:fixed; top:0; } body.mobile fieldset.Header { padding:0; width:100%; position:fixed; top:0; }
body.mobile fieldset.Header>div.output { font-size:1.6rem; line-height:3rem; height:3rem; } body.mobile fieldset.Header>div.output { font-size:1.6rem; line-height:3rem; height:3rem; }
@ -318,6 +316,7 @@ body.mobile fieldset.Header div.output div.search>input { font-size:2.2rem; back
body.mobile fieldset.River { min-width:240px; position:fixed; top:3rem; z-index:10; } body.mobile fieldset.River { min-width:240px; position:fixed; top:3rem; z-index:10; }
body.mobile fieldset.River>div.output { font-size:1.6rem; width:320px; } body.mobile fieldset.River>div.output { font-size:1.6rem; width:320px; }
body.mobile fieldset.Action { margin-top:3rem; margin-bottom:3rem; } body.mobile fieldset.Action { margin-top:3rem; margin-bottom:3rem; }
body.mobile fieldset.Action>div.output { overflow-x:hidden; }
body.mobile fieldset.Action.cmd { margin-top:0; margin-bottom:0; } body.mobile fieldset.Action.cmd { margin-top:0; margin-bottom:0; }
body.mobile fieldset.Footer { font-size:1.6rem; height:3rem; width:100%; position:fixed; bottom:0; } body.mobile fieldset.Footer { font-size:1.6rem; height:3rem; width:100%; position:fixed; bottom:0; }
body.mobile fieldset.Footer div.output { height:3rem; } body.mobile fieldset.Footer div.output { height:3rem; }
@ -325,6 +324,7 @@ body.mobile fieldset.Footer div.output div { height:3rem; }
body.mobile fieldset.Footer input[name=cmd] { height:3rem; } body.mobile fieldset.Footer input[name=cmd] { height:3rem; }
body.mobile fieldset.input.date div.output td { padding:8px 20px; } body.mobile fieldset.input.date div.output td { padding:8px 20px; }
body.mobile fieldset.word.float>div.output>div.project { top:38px; } body.mobile fieldset.word.float>div.output>div.project { top:38px; }
body.mobile fieldset.word>div.output { overflow-x:hidden; }
/* misc */ /* misc */
fieldset.cmd>div.item.time { padding:5px 10px; line-height:22px; float:right; } fieldset.cmd>div.item.time { padding:5px 10px; line-height:22px; float:right; }
fieldset.cmd>div.item.avatar { padding:0; float:right; height:32px; } fieldset.cmd>div.item.avatar { padding:0; float:right; height:32px; }

View File

@ -27,6 +27,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.cl
can.onmotion.delay(can, function() { can.core.Next(files.slice(1), function(file, next) { can.onimport._tabview(can, paths[0], file, "", next) }, function() { can.onmotion.delay(can, function() { can.core.Next(files.slice(1), function(file, next) { can.onimport._tabview(can, paths[0], file, "", next) }, function() {
if (can.user.isWebview && last) { var ls = can.core.Split(last, ice.DF); ls.length > 0 && can.onimport._tabview(can, ls[0], ls[1], ls[2]) } if (can.user.isWebview && last) { var ls = can.core.Split(last, ice.DF); ls.length > 0 && can.onimport._tabview(can, ls[0], ls[1], ls[2]) }
}) }) }) })
can.user.isMobile && can.onmotion.hidden(can, can.ui.project)
} var args = can.misc.SearchHash(can); can.db.tabview[can.onexport.keys(can)] = msg } var args = can.misc.SearchHash(can); can.db.tabview[can.onexport.keys(can)] = msg
can.onimport.tabview(can, can.Option(nfs.PATH), can.Option(nfs.FILE), can.Option(nfs.LINE), function() { if (!can.user.isWebview && args.length > 0 && can.isCmdMode()) { can.onimport.tabview(can, can.Option(nfs.PATH), can.Option(nfs.FILE), can.Option(nfs.LINE), function() { if (!can.user.isWebview && args.length > 0 && can.isCmdMode()) {
can.onimport._tabview(can, args[args.length-3], args[args.length-2]||can.Option(nfs.FILE), args[args.length-1]) can.onimport._tabview(can, args[args.length-3], args[args.length-2]||can.Option(nfs.FILE), args[args.length-1])

View File

@ -214,7 +214,8 @@ Volcanos(chat.ONEXPORT, {list: [svg.GROUP, svg.FIGURE, ctx.INDEX, "pos"],
can.Status(svg.GROUP, target.Groups()||can.group.Groups()||html.SVG) can.Status(svg.GROUP, target.Groups()||can.group.Groups()||html.SVG)
can.Status(ctx.INDEX, target.Value(ctx.INDEX)||"") can.Status(ctx.INDEX, target.Value(ctx.INDEX)||"")
}, },
content: function(can, target) { return ['<svg xmlns="https://www.w3.org/2000/svg" vertion="1.1" text-anchor="middle" dominant-baseline="middle" '].concat( content: function(can, target) { return ['<svg xmlns="https://www.w3.org/2000/svg" vertion="1.1" text-anchor="middle" '].concat(
// content: function(can, target) { return ['<svg xmlns="https://www.w3.org/2000/svg" vertion="1.1" text-anchor="middle" dominant-baseline="middle" '].concat(
target? can.core.List([mdb.COUNT, svg.PID], function(item) { return target.Value(item)? can.base.joinKV([item, target.Value(item)], ice.EQ): ""}).join(ice.SP): "").concat([">", target? target.innerHTML: "", "</svg>"]).join("") target? can.core.List([mdb.COUNT, svg.PID], function(item) { return target.Value(item)? can.base.joinKV([item, target.Value(item)], ice.EQ): ""}).join(ice.SP): "").concat([">", target? target.innerHTML: "", "</svg>"]).join("")
}, },
cursor: function(event, can, target) { cursor: function(event, can, target) {

View File

@ -15,6 +15,7 @@ fieldset.word img { word-break:break-all; }
fieldset.word svg.story.auto defs marker { stroke:red; fill:red; } fieldset.word svg.story.auto defs marker { stroke:red; fill:red; }
body.white fieldset.word svg.story.auto defs marker { stroke:red; fill:red; } body.white fieldset.word svg.story.auto defs marker { stroke:red; fill:red; }
fieldset.word.play.float { top:0; }
fieldset.word.play.float>div.action { display:contents; } fieldset.word.play.float>div.action { display:contents; }
fieldset.word.play.float>div.status { clear:none; } fieldset.word.play.float>div.status { clear:none; }
fieldset.word.play.float>div.output>div.project { background-color:#4682b46b; padding:10px; position:fixed; right:0; top:32px; z-index:10; } fieldset.word.play.float>div.output>div.project { background-color:#4682b46b; padding:10px; position:fixed; right:0; top:32px; z-index:10; }

View File

@ -103,7 +103,7 @@ Volcanos(chat.ONACTION, {_trans: {view: "视图"},
sub.page.Append(sub, sub.ui.content, [{view: "page"+(index==0? " first": ""), list: can.core.List(page, function(item) { var data = item.dataset||{} sub.page.Append(sub, sub.ui.content, [{view: "page"+(index==0? " first": ""), list: can.core.List(page, function(item) { var data = item.dataset||{}
switch (data.type) { switch (data.type) {
case wiki.PREMENU: item = item.cloneNode(false); break case wiki.PREMENU: item = item.cloneNode(false); break
case chat.FIELD: item = can.onappend.field(can, chat.STORY, can.base.Obj(data.meta), sub.ui.content)._target; break case chat.FIELD: item = can.onappend.field(can, chat.STORY, can.base.Copy(can.base.Obj(data.meta), {height: can.page.height(), width: can.page.width()}), sub.ui.content)._target; break
default: item = item.cloneNode(true) default: item = item.cloneNode(true)
} }
return can.core.CallFunc([can.onimport, data.type], [sub, data, item, can.page.width()]), item return can.core.CallFunc([can.onimport, data.type], [sub, data, item, can.page.width()]), item

View File

@ -1,6 +1,7 @@
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { can.page.requireDraw(can, function() { can.ConfDefault({field: msg.append[0], split: ice.PS}) Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { can.page.requireDraw(can, function() { can.ConfDefault({field: msg.append[0], split: ice.PS})
can.dir_root = can.Conf(nfs.DIR_ROOT)||msg.Option(nfs.DIR_ROOT), can._tree = can.onimport._tree(can, msg.Table(), can.Conf(mdb.FIELD), can.Conf(lex.SPLIT)) can.dir_root = can.Conf(nfs.DIR_ROOT)||msg.Option(nfs.DIR_ROOT), can._tree = can.onimport._tree(can, msg.Table(), can.Conf(mdb.FIELD), can.Conf(lex.SPLIT))
can.onaction.list = [], can.base.isFunc(cb) && cb(msg), can.onimport.layout(can) can.onaction.list = [], can.base.isFunc(cb) && cb(msg), can.onimport.layout(can)
can.onappend._status(can, msg.Option(ice.MSG_STATUS))
}) }, }) },
_tree: function(can, list, field, split) { var node = {}; can.core.List(list, function(item) { can.core.List(item[field].split(split), function(value, index, array) { _tree: function(can, list, field, split) { var node = {}; can.core.List(list, function(item) { can.core.List(item[field].split(split), function(value, index, array) {
var last = array.slice(0, index).join(split)||can.dir_root, name = array.slice(0, index+1).join(split) var last = array.slice(0, index).join(split)||can.dir_root, name = array.slice(0, index+1).join(split)
@ -42,15 +43,16 @@ Volcanos(chat.ONACTION, {list: [[ice.VIEW, "横向", "纵向"], [html.SIZE, 24,
], style: {stroke: cli.CYAN}}), can.onaction._draw_vertical(can, item, x+offset, y+tree.height+8*can.margin), offset += item.width ], style: {stroke: cli.CYAN}}), can.onaction._draw_vertical(can, item, x+offset, y+tree.height+8*can.margin), offset += item.width
}) })
}, },
_draw_horizontal: function(can, tree, x, y) { _draw_horizontal: function(can, tree, x, y) { var height = can.size+can.margin
tree.width = can.onaction._draw(can, tree, tree.x = x, tree.y = y+tree.height*(can.size+can.margin)/2).Val(svg.TEXT_LENGTH); if (x+tree.width > can.svg.Val(html.WIDTH)) { can.svg.Val(html.WIDTH, x+tree.width) } tree.width = can.onaction._draw(can, tree, tree.x = x, tree.y = y+tree.height*(can.size+can.margin)/2).Val(svg.TEXT_LENGTH)||(tree.name.length*16); if (x+tree.width > can.svg.Val(html.WIDTH)) { can.svg.Val(html.WIDTH, x+tree.width) }
var offset = 0; tree.hide || can.core.List(tree.list, function(item) { var offset = 0; tree.hide || can.core.List(tree.list, function(item) {
can.onimport.draw(can, {shape: svg.PATH2H, points: [ can.onimport.draw(can, {shape: svg.PATH2H, points: [
{x: x+tree.width+can.margin/2, y: y+tree.height*(can.size+can.margin)/2}, {x: x+tree.width+8*can.margin-can.margin/2, y: y+offset+item.height*(can.size+can.margin)/2} {x: x+tree.width+can.margin/2, y: y+tree.height*height/2-can.size/4}, {x: x+tree.width+8*can.margin-can.margin/2, y: y+offset+item.height*height/2-can.size/4}
], style: {stroke: cli.CYAN}}), can.onaction._draw_horizontal(can, item, x+tree.width+8*can.margin, y+offset), offset += item.height*(can.size+can.margin) ], style: {stroke: cli.CYAN}}), can.onaction._draw_horizontal(can, item, x+tree.width+8*can.margin, y+offset), offset += item.height*(can.size+can.margin)
}) })
}, },
}) })
Volcanos(chat.ONEXPORT, {list: [mdb.TIME, mdb.COUNT]})
Volcanos(chat.ONDETAIL, { Volcanos(chat.ONDETAIL, {
onclick: function(event, can, tree) { onclick: function(event, can, tree) {
if (tree.list.length > 0 || tree.name.endsWith(can.Conf(lex.SPLIT))) { return tree.hide = !tree.hide, can.onaction[can.Action(ice.VIEW)||"横向"](event, can) } if (tree.list.length > 0 || tree.name.endsWith(can.Conf(lex.SPLIT))) { return tree.hide = !tree.hide, can.onaction[can.Action(ice.VIEW)||"横向"](event, can) }