mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
add some
This commit is contained in:
parent
0d198bcec6
commit
7e4aaa6ffe
7
frame.js
7
frame.js
@ -659,11 +659,12 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
append(can.page.Append(can, target, [html.LAYOUT])._target, type==FLOW? FLEX: FLOW, item)
|
||||
} else if (can.base.isObject(item)) {
|
||||
if (item.index) { item._index = count++, ui.size[item._index] = item.height||item.width
|
||||
can.base.isIn(item._command, web.PORTAL, web.DESKTOP, aaa.OFFER, aaa.APPLY) && can.onmotion.hidden(can, target)
|
||||
can.base.isIn(item._command, web.PORTAL, web.DESKTOP, aaa.OFFER, aaa.APPLY, code.VIMER) && can.onmotion.hidden(can, target)
|
||||
// can.onmotion.hidden(can, target), can.onmotion.delay(can, function() { can.onmotion.toggle(can, target, true) }, 300)
|
||||
can.onappend.plugin(can, item, function(sub) { can._plugins = (can._plugins||[]).concat([sub])
|
||||
item.layout = function(height, width) { sub.onimport.size(sub, height, width) }
|
||||
can.onmotion.select(can, sub._target.parentNode, html.FIELDSET, sub._target)
|
||||
sub.onexport._output = function() { can.onmotion.toggle(can, target, true) }
|
||||
sub.onexport._output = function() { can.onmotion.delay(can, function() { can.onmotion.toggle(can, target, true) }) }
|
||||
}, target, ui[item._index] = can.onappend.field(can, item.type, {index: item.index, name: item.index.split(nfs.PT).pop(), help: item.help}, target)._target)
|
||||
} else { can.page.Append(can, target, [item]) }
|
||||
}
|
||||
@ -758,7 +759,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
can.onlayout.figure(event, can, sub._target), can.onmotion.toggle(can, sub._target, true)
|
||||
sub.Status(html.HEIGHT, sub._output.offsetHeight), sub.Status(html.WIDTH, sub._output.offsetWidth)
|
||||
}
|
||||
can.core.CallFunc(on, {event: event, can: can, meta: meta, cb: _cb, target: target, sub: target._can, last: last, cbs: function(cb) {
|
||||
can.core.CallFunc(on, {event: event, can: can, meta: meta, cb: _cb, target: target, sub: target._can, mod: can.onfigure[input],last: last, cbs: function(cb) {
|
||||
target._can? show(target._can, cb): can.onappend._init(can, {type: html.INPUT, name: input, style: meta.name, mode: chat.FLOAT}, [path, meta.display], function(sub) { sub.Conf(meta)
|
||||
can.page.Append(can, sub._target, [{text: [can.page.unicode.remove, "", "close"], onclick: function() { sub.close() }}])
|
||||
sub.run = function(event, cmds, cb) { var msg = sub.request(event)
|
||||
|
21
index.css
21
index.css
@ -179,7 +179,7 @@ div.project div.item.filter { padding:0; width:100%; }
|
||||
div.project div.item.filter>input { padding:0 25px; width:100% !important; }
|
||||
div.project div.item.search { padding:0; width:100%; }
|
||||
div.project div.item.search>input { padding:0 25px; width:100%; }
|
||||
div.project div.expand { margin-right:var(--input-margin); float:left; transition:all .5s; }
|
||||
div.project div.expand { margin-right:var(--input-margin); width:5px; float:left; transition:all .5s; }
|
||||
div.project div.expand.open { translate:1px 2px; rotate:90deg; transition:all .3s; }
|
||||
div.project div.item>div.name { padding-left:var(--button-padding); }
|
||||
div.project div.zone>div.item { text-align:center; padding:var(--input-padding); display:flex; align-items:center; }
|
||||
@ -203,17 +203,20 @@ div.content>div.toggle.display { left:20%; bottom:-52px; rotate:90deg; border-to
|
||||
div.project:not(.toggle) { width:var(--project-width); flex:0 0 var(--project-width); }
|
||||
div.profile:not(.toggle) { width:50%; flex:0 0 50%; }
|
||||
/* fieldset */
|
||||
fieldset>div.action>div.online {
|
||||
margin-left:var(--button-margin) !important; display:block;
|
||||
}
|
||||
fieldset>div.action>div.item.online.state {
|
||||
box-shadow:none;
|
||||
margin-right:var(--button-margin) !important; display:block; overflow:hidden; position:relative;
|
||||
}
|
||||
fieldset>div.action>div.online { margin-left:var(--button-margin) !important; display:block; }
|
||||
fieldset>div.action>div.online.state { box-shadow:none; margin-right:var(--button-margin) !important; display:block; overflow:hidden; position:relative; }
|
||||
fieldset>div.action>div.online span { background-color:var(--hover-bg-color); color:var(--hover-fg-color); font-size:var(--status-font-size); position:absolute; bottom:0; }
|
||||
fieldset>div.action>div.online img { height:var(--action-height); transition:margin-right 1s; float:right; }
|
||||
fieldset>div.action>div.online img:hover { background-color:var(--hover-bg-color); }
|
||||
fieldset>div.action>div.online:not(:hover) img:not(:first-child) { margin-right:-20px; }
|
||||
|
||||
fieldset>div.action>div.online { margin-left:var(--button-margin) !important; display:block; }
|
||||
fieldset>div.action>div.online.state { box-shadow:none; margin-right:var(--button-margin) !important; display:block; overflow:hidden; position:relative; }
|
||||
fieldset>div.action>div.online span { background-color:var(--hover-bg-color); color:var(--hover-fg-color); font-size:var(--status-font-size); position:absolute; bottom:0; }
|
||||
fieldset>div.action>div.online img { height:var(--action-height); transition:margin-right 1s; float:right; }
|
||||
fieldset>div.action>div.online img:hover { background-color:var(--hover-bg-color); }
|
||||
fieldset>div.action>div.online:not(:hover) img:not(:first-child) { margin-right:-20px; }
|
||||
|
||||
body.mobile fieldset>div.action>div.online img:not(:first-child) { margin-right:-20px; }
|
||||
body.width6 fieldset>div.action>div.online:not(:hover) img:not(:first-child) { margin-right:var(--input-margin); }
|
||||
fieldset>div.action>div.online:hover img:not(:first-child) { margin-right:var(--input-margin); }
|
||||
@ -858,7 +861,7 @@ body.mobile table.content.detail { word-break:break-all; white-space:unset; }
|
||||
body.windows fieldset.inner>div.output { overflow:hidden; }
|
||||
body.windows fieldset.inner>div.output>div.layout>div.layout>div.profile { overflow:hidden; }
|
||||
body.white fieldset.inner.cmd>div.output>div.layout>div.tabs div:not(.select):not(:hover) { background-color:transparent; }
|
||||
body.zh fieldset.inner>div.output>div.project>div.zone>div.item { letter-spacing:10px; border-top:var(--box-border); }
|
||||
body.zh fieldset.inner>div.output>div.project>div.zone>div.item { letter-spacing:10px; border-top:var(--box-border); box-shadow:var(--box-shadow); }
|
||||
body:not(.debug) fieldset.plugin.can._notfound { display:none; }
|
||||
fieldset.story.web.chat.wx.agent { position:fixed; left:0; bottom:0; }
|
||||
/* fieldset.story>form.option>div.item.text.path>input { width:var(--input-width); } */
|
||||
|
@ -23,7 +23,8 @@ Volcanos(chat.ONFIGURE, {key: {
|
||||
msg.append.length == 1 && can.page.ClassList.add(can, can._target, chat.SIMPLE)
|
||||
can.onlayout.figure({target: target}, can, can._target, false, 200)
|
||||
},
|
||||
onclick: function(event, can, meta, target, cbs) { target.value == "" && cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return }
|
||||
onfocus: function(event, can, meta, target, cbs, mod) { meta._force && mod.onclick(event, can, meta, target, cbs) },
|
||||
onclick: function(event, can, meta, target, cbs) { (target.value == "" || meta._force) && cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return }
|
||||
meta.msg && meta.msg.Length() > 0? sub._show(sub, meta.msg, cb, target, meta.name): sub._load(event, sub, cb, target, meta.name, target.value)
|
||||
}) },
|
||||
onblur: function(event, can, sub, cb) { sub && can.onmotion.delay(can, sub.close, 300) },
|
||||
|
@ -45,6 +45,11 @@ fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding:va
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div { white-space:pre; padding:10px; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar { padding:0; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar>img { height:var(--code-tabs-height); clip-path:circle(40%); }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online { margin-left:var(--button-margin) !important; display:block; float:right; position:relative; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online span { background-color:var(--hover-bg-color); color:var(--hover-fg-color); font-size:var(--status-font-size); position:absolute; bottom:12px; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online img { height:var(--action-height); transition:margin-right 1s; float:right; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online img:hover { background-color:var(--hover-bg-color); }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online:not(:hover) img:not(:first-child) { margin-right:-20px; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path:not(.hide) { display:flex; }
|
||||
fieldset.inner>div.output>div.layout>div.path:not(.hide) { font-style:italic; box-shadow:var(--box-shadow); cursor:pointer; justify-content:flex-start; }
|
||||
fieldset.inner>div.output>div.layout>div.path>a { padding:var(--input-padding) var(--button-padding); }
|
||||
@ -64,7 +69,8 @@ fieldset.inner>div.output>div.layout>div.path span.view { font-size:22px; paddin
|
||||
fieldset.inner>div.output>div.layout>fieldset.plug.output { white-space:pre; }
|
||||
/* fieldset.inner.cmd>div.output>div.layout>div.plug { height:var(--action-height); position:fixed; right:0; bottom:0; overflow:auto; } */
|
||||
fieldset.inner.cmd>div.output>div.layout>div.plug { height:var(--action-height); overflow:auto; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend { font-size:var(--legend-font-size); font-style:italic; float:right; padding:0 var(--input-padding); }
|
||||
|
||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend { font-size:var(--legend-font-size); font-style:italic; padding:0 var(--input-padding); margin-right:0; float:right; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend:hover { color:unset; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove { padding:0 var(--input-padding); height:30px; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove:hover { background-color:var(--hover-bg-color); }
|
||||
|
@ -53,7 +53,11 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
link.cmd == web.CODE_VIMER? can.onimport.tabview(can, link.path, link.file, link.line): can.onimport.tabview(can, link.path, link.cmd, ctx.INDEX)
|
||||
} }, can.base.isFunc(cb) && cb(msg)
|
||||
},
|
||||
_tabs: function(can) { if (!can.isCmdMode()) { return can.ui._tabs = can._action }
|
||||
_tabs: function(can) {
|
||||
if (!can.isCmdMode()) {
|
||||
can.onimport._online(can)
|
||||
return can.ui._tabs = can._action
|
||||
}
|
||||
var ui = can.page.Append(can, can.ui.tabs, ["icon", "tabs", "head"]); can.ui._tabs = ui.tabs
|
||||
can.page.Append(can, ui.icon, can.core.List([
|
||||
{name: can.page.unicode.menu, onclick: function() { can.user.carte(event, can, can.onaction, can.onaction.list) }},
|
||||
@ -62,6 +66,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
can.onappend.style(can, html.FLEX, ui.head)
|
||||
can.onappend.style(can, html.FLEX, ui.tabs)
|
||||
can.onappend.style(can, html.FLEX, ui.icon)
|
||||
can.ui.online = can.page.Append(can, ui.head, ["online"])._target, can.onimport._online(can)
|
||||
can.page.Append(can, ui.head, can.user.header(can).reverse())
|
||||
},
|
||||
__tabPath: function(can, cache) { var target = can.ui.path; can.onappend.style(can, html.FLEX, can.ui.path)
|
||||
@ -290,8 +295,17 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
can.page.style(can, can.ui.tabs.parentNode, html.WIDTH, can.ui.path.offsetWidth)
|
||||
can.page.style(can, can.ui.display, html.WIDTH, can.ui.path.offsetWidth)
|
||||
can.page.style(can, can.ui.display.parentNode, html.WIDTH, can.ui.path.offsetWidth)
|
||||
can.ui.zone.source._layout(), can.ui.zone[can.Option(nfs.PATH)] && can.ui.zone[can.Option(nfs.PATH)]._layout()
|
||||
// can.ui.zone.source._layout(), can.ui.zone[can.Option(nfs.PATH)] && can.ui.zone[can.Option(nfs.PATH)]._layout()
|
||||
}
|
||||
can.page.SelectChild(can, can.ui.project, html.DIV_ZONE, function(target, index, list) {
|
||||
can.page.SelectChild(can, target, html.DIV_ITEM, function(target) {
|
||||
var height = can.ui.project.offsetHeight - list.length*target.offsetHeight
|
||||
if (can.page.tagis(target.nextSibling, html.DIV_ACTION)) { height -= target.nextSibling.offsetHeight }
|
||||
can.page.SelectChild(can, target.parentNode, html.DIV_LIST, function(target) {
|
||||
can.page.style(can, target, html.MAX_HEIGHT, height)
|
||||
})
|
||||
})
|
||||
})
|
||||
try { can.isCmdMode() && can._msg._tab.scrollIntoView() } catch (e) {}
|
||||
},
|
||||
exts: function(can, url, cb) { var sub = can.db.toolkit[url.split(web.QS)[0]]; if (sub) { return can.base.isFunc(cb)? cb(sub): sub.select() }
|
||||
@ -307,7 +321,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
grow: function(can, msg, arg) { can.onimport.exts(can, "inner/output.js", function(sub) { sub.Conf(ctx.INDEX, can.ConfIndex())
|
||||
sub.select(true), can.onmotion.delay(can, function() {
|
||||
can.page.Append(can, sub._output, [{text: arg}]), sub._output.scrollTop = sub._output.scrollHeight
|
||||
can.misc.sessionStorage(can, [can.ConfIndex(), "output"], sub._output.innerHTML)
|
||||
can.misc.sessionStorage(can, [can.ConfIndex(), html.OUTPUT], sub._output.innerHTML)
|
||||
})
|
||||
}) },
|
||||
}, [""])
|
||||
@ -322,11 +336,13 @@ Volcanos(chat.ONFIGURE, {
|
||||
},
|
||||
module: function(can, target, zone) { zone._delay_init = function() { can.runAction({}, mdb.INPUTS, [ctx.INDEX], function(msg) {
|
||||
can.onimport.tree(can, msg.Table(), ctx.INDEX, nfs.PT, function(event, item) { can.onimport.tabview(can, "", item.index, ctx.INDEX) }, target), zone._total(msg.Length())
|
||||
can.onmotion.orderShow(can, target)
|
||||
}) }, zone.toggle(false) },
|
||||
plugin: function(can, target, zone) { zone._delay_init = function() { var total = 0
|
||||
can.onimport.tree(can, can.core.ItemKeys(can.onengine.plugin.meta, function(key) { if (key[0] != "_") { return total++, {index: key} } }), ctx.INDEX, nfs.PT, function(event, item) {
|
||||
can.onimport.tabview(can, "", can.core.Keys(ice.CAN, item.index), ctx.INDEX)
|
||||
}, target), zone._total(total)
|
||||
can.onmotion.orderShow(can, target)
|
||||
}, zone.toggle(false) },
|
||||
})
|
||||
Volcanos(chat.ONLAYOUT, {
|
||||
@ -555,7 +571,7 @@ Volcanos(chat.ONACTION, {
|
||||
open: function(event, can, button) {
|
||||
var left = can.ui.project.offsetWidth+(can._output.offsetWidth)/4-34, width = (can._output.offsetWidth-can.ui.project.offsetWidth)/2
|
||||
if (can.user.isMobile) { left = 0, width = can.page.width()-40 }
|
||||
var input = can.user.input(can.request(event, {type: button}), can, [{name: nfs.FILE, style: {width: width}, select: function(item) { input.submit(event, can, web.SUBMIT) }, run: function(event, cmds, cb) {
|
||||
var input = can.user.input(can.request(event, {type: button}), can, [{name: nfs.FILE, style: {width: width}, _force: true, select: function(item) { input.submit(event, can, web.SUBMIT) }, run: function(event, cmds, cb) {
|
||||
can.run(can.request(event, {paths: can.db.paths.join(mdb.FS)}), cmds, function(msg) { function push(type, name) { _msg.Push(nfs.PATH, can.core.List(arguments).join(nfs.DF)) }
|
||||
if (cmds[0] == ctx.ACTION && cmds[1] == mdb.INPUTS) { var _msg = can.onengine.signal(can, "tabview.open.inputs"), func = can.onexport.func(can)
|
||||
can.core.Item(can.db.tabview, function(key) { var ls = can.core.Split(key, nfs.DF); push(ls[0]+ls[1]) }), _msg.Copy(msg)
|
||||
|
@ -2,7 +2,6 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { if (can.user.mod.isPod)
|
||||
can.require(["/plugin/local/code/inner.js"], function(can) { can.onimport._last_init(can, msg, function() {
|
||||
can.onengine.listen(can, "tabview.line.select", function(msg) { can.onaction._selectLine(can) })
|
||||
can.db.undo = [], can.db.redo = [], can.onimport._input(can), cb && cb(msg)
|
||||
can.onimport._online(can)
|
||||
}) })
|
||||
},
|
||||
_input: function(can) { var ui = can.page.Append(can, can.ui.content.parentNode, [
|
||||
@ -42,18 +41,21 @@ Volcanos(chat.ONFIGURE, {
|
||||
nfs.TRASH, function(event, button) { can.runAction(event, nfs.TRASH, [path+item.path], function(msg) { show(target, zone, path) }) },
|
||||
)}; return item
|
||||
}); cache = can.onimport.tree(can, list, nfs.PATH, nfs.PS, function(event, item) { can.onimport.tabview(can, path, item.path) }, target, cache)
|
||||
can.onmotion.orderShow(can, target)
|
||||
}, true) } if (path.length == 1) { return show(target, zone, path[0]) } can.page.Remove(can, zone._action)
|
||||
can.onimport.zone(can, can.core.List(path, function(path) { return kit.Dict(mdb.NAME, path, path == args[0]? chat._INIT: chat._DELAY_INIT, function(target, zone) {
|
||||
show(target, zone, path), zone._toggle = function() { can.ui.zone.source && can.ui.zone.source._layout(), zone._layout() }
|
||||
}) }), target)
|
||||
show(target, zone, path), zone._toggle = function() {
|
||||
// can.ui.zone.source && can.ui.zone.source._layout()
|
||||
// zone._layout()
|
||||
}
|
||||
}) }), target), can.onmotion.orderShow(can, target, html.DIV_ZONE)
|
||||
},
|
||||
space: function(can, target, zone) { can.onimport._zone(can, zone, web.DREAM, function(sub, msg) {
|
||||
sub.onimport._open = function(_, msg, arg) { var link = can.misc.ParseURL(can, arg)
|
||||
if (link.pod) { can.onimport.tabview(can, "", link.pod, web.SPACE), sub.Update(); return }
|
||||
can.onimport.tabview(can, "", arg, web.SPACE)
|
||||
}
|
||||
sub.onexport.record = function(sub, value, key) {
|
||||
can.onimport.tabview(can, "", value, web.SPACE) }
|
||||
sub.onexport.record = function(sub, value, key) { can.onimport.tabview(can, "", value, web.SPACE) }
|
||||
can.page.Select(can, sub._output, html.DIV_ITEM, function(target, index) { can.onappend.style(can, msg.status[index], target) })
|
||||
}), zone.toggle(false) },
|
||||
})
|
||||
|
@ -31,7 +31,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
||||
can.sup.onexport.record(can, value.name, mdb.NAME, value, event)
|
||||
}, function() { return shy(action, function(event, button, meta, carte) { can.misc.Event(event, can, function(msg) { carte.close()
|
||||
can.sup.onexport.action(can, button, value) || can.run(event, [ctx.ACTION, button], function(msg) { can.sup.onimport._process(can.sup, msg) || can.Update() })
|
||||
}, value) }) })
|
||||
}, value) }) }), can.onmotion.orderShow(can, target)
|
||||
}) },
|
||||
_zone: function(can, zone, index, cb, field) { zone._delay_init = function() { can.onimport.plug(can, can.base.isObject(index)? index: {index: index, style: html.OUTPUT, mode: mdb.ZONE, field: field}, function(sub) {
|
||||
sub.run = function(event, cmds, cb) { can.runActionCommand(can.request(event, {mode: mdb.ZONE}), index.index||index, cmds, cb) }
|
||||
@ -51,6 +51,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
||||
zone: function(can, list, target) {
|
||||
return can.page.Append(can, target, can.core.List(list, function(zone) { can.base.isString(zone) && (zone = {name: zone}); if (!zone) { return }
|
||||
zone._layout = function() { var height = target.offsetHeight, count = 0
|
||||
// debugger
|
||||
can.page.SelectChild(can, target, "", function(target) {
|
||||
can.page.SelectChild(can, target, html.DIV_ITEM, function(target) { height -= target.offsetHeight })
|
||||
can.page.SelectChild(can, target, html.DIV_ACTION, function(target) { height -= target.offsetHeight })
|
||||
@ -241,7 +242,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
||||
return index < 5 && {img: can.misc.Resource(can, value.username == can.user.info.username? value.icons: value.avatar||"usr/icons/contexts.png"),
|
||||
title: [[value.usernick, value.username].join(lex.SP), [value.agent, value.system, value.ip].join(lex.SP)].join(lex.NL)}
|
||||
}))
|
||||
can.page.Append(can, can.ui.online, [{text: msg.Length()+""}])
|
||||
msg.Length() > 0 && can.page.Append(can, can.ui.online, [{text: msg.Length()+""}])
|
||||
}), can.onimport._online(can, 30000)
|
||||
}, delay) },
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user