mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
Compare commits
No commits in common. "master" and "v1.0.36" have entirely different histories.
4
const.js
4
const.js
@ -179,7 +179,6 @@ var tcp = {
|
|||||||
SERVICE: "service", HOSTNAME: "hostname",
|
SERVICE: "service", HOSTNAME: "hostname",
|
||||||
WIFI: "wifi", SSID: "ssid",
|
WIFI: "wifi", SSID: "ssid",
|
||||||
LOCALHOST: "localhost",
|
LOCALHOST: "localhost",
|
||||||
DIAL: "dial",
|
|
||||||
DIRECT: "direct", SEND: "send", RECV: "recv",
|
DIRECT: "direct", SEND: "send", RECV: "recv",
|
||||||
}
|
}
|
||||||
var nfs = {
|
var nfs = {
|
||||||
@ -246,7 +245,6 @@ var cli = {
|
|||||||
QRCODE: "qrcode", COLOR: "color", BLACK: "black", WHITE: "white", BLUE: "blue", RED: "red", GRAY: "gray", CYAN: "cyan", GREEN: "green", PURPLE: "purple", YELLOW: "yellow",
|
QRCODE: "qrcode", COLOR: "color", BLACK: "black", WHITE: "white", BLUE: "blue", RED: "red", GRAY: "gray", CYAN: "cyan", GREEN: "green", PURPLE: "purple", YELLOW: "yellow",
|
||||||
MAGENTA: "magenta", SILVER: "silver", ALICEBLUE: "aliceblue", TRANSPARENT: "transparent",
|
MAGENTA: "magenta", SILVER: "silver", ALICEBLUE: "aliceblue", TRANSPARENT: "transparent",
|
||||||
LINUX: "linux", DARWIN: "darwin", WINDOWS: "windows",
|
LINUX: "linux", DARWIN: "darwin", WINDOWS: "windows",
|
||||||
XTERM: "xterm",
|
|
||||||
SH: "sh",
|
SH: "sh",
|
||||||
}
|
}
|
||||||
var log = {
|
var log = {
|
||||||
@ -286,7 +284,6 @@ var chat = {
|
|||||||
MATRIX: "matrix",
|
MATRIX: "matrix",
|
||||||
TUTOR: "tutor",
|
TUTOR: "tutor",
|
||||||
FLOWS: "flows",
|
FLOWS: "flows",
|
||||||
ADMIN: "admin",
|
|
||||||
|
|
||||||
HEADER: "Header", ACTION: "Action", FOOTER: "Footer",
|
HEADER: "Header", ACTION: "Action", FOOTER: "Footer",
|
||||||
libs: ["base.js", "core.js", "date.js", "misc.js", "page.js", "user.js"].map(function(p) { return "/lib/"+p }),
|
libs: ["base.js", "core.js", "date.js", "misc.js", "page.js", "user.js"].map(function(p) { return "/lib/"+p }),
|
||||||
@ -442,7 +439,6 @@ var html = {
|
|||||||
|
|
||||||
IMAGE_PNG: "image/png", VIDEO_WEBM: "video/webm",
|
IMAGE_PNG: "image/png", VIDEO_WEBM: "video/webm",
|
||||||
BACKGROUND_JPG: "usr/icons/background.jpg",
|
BACKGROUND_JPG: "usr/icons/background.jpg",
|
||||||
BACKGROUND_PNG: "usr/icons/background.png",
|
|
||||||
AVATAR_JPG: "usr/icons/avatar.jpg",
|
AVATAR_JPG: "usr/icons/avatar.jpg",
|
||||||
}
|
}
|
||||||
var icon = {
|
var icon = {
|
||||||
|
70
frame.js
70
frame.js
@ -444,7 +444,7 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
) && (name = (item.index||"").split(nfs.PT).slice(-2).join(nfs.PT))
|
) && (name = (item.index||"").split(nfs.PT).slice(-2).join(nfs.PT))
|
||||||
type == html.PLUG || (type == html.STORY && item.style != html.FLOAT) ||
|
type == html.PLUG || (type == html.STORY && item.style != html.FLOAT) ||
|
||||||
// can.base.isIn(can.ConfIndex(), web.DESKTOP, web.MESSAGE, web.VIMER) ||
|
// can.base.isIn(can.ConfIndex(), web.DESKTOP, web.MESSAGE, web.VIMER) ||
|
||||||
(name = can.core.Keys(can.base.trimPrefix(item.space||item._space, can.ConfSpace()), name))
|
(name = can.core.Keys(item.space||item._space, name))
|
||||||
item.index && (item.help = item.help||can.user.trans(can, item.index.split(".").pop(), ""))
|
item.index && (item.help = item.help||can.user.trans(can, item.index.split(".").pop(), ""))
|
||||||
var title = item.title || can.user.isMobile && (can.user.isEnglish(can)? name: (item.help||name)) || (!item.help || name == item.help || can.user.isEnglish(can)? name: name+"("+can.core.Split(item.help)[0]+")")
|
var title = item.title || can.user.isMobile && (can.user.isEnglish(can)? name: (item.help||name)) || (!item.help || name == item.help || can.user.isEnglish(can)? name: name+"("+can.core.Split(item.help)[0]+")")
|
||||||
target = can.base.isFunc(target)? target(): target
|
target = can.base.isFunc(target)? target(): target
|
||||||
@ -651,15 +651,6 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
var option = can.core.Item(can.Option())
|
var option = can.core.Item(can.Option())
|
||||||
if (can.core.List(option).length == 1) {
|
|
||||||
if (msg.IsDetail()) {
|
|
||||||
var key = can.core.List(option)[0], i = msg.key.indexOf(key)
|
|
||||||
if (i > 0) { var k = msg.key[i], v = msg.value[i]; for (i; i > 0; i--) { msg.key[i] = msg.key[i-1], msg.value[i] = msg.value[i-1] } msg.key[0] = k, msg.value[0] = v }
|
|
||||||
} else {
|
|
||||||
var key = can.core.List(option)[0], i = msg.append.indexOf(key)
|
|
||||||
if (i > 0) { var v = msg.append[i]; for (i; i > 0; i--) { msg.append[i] = msg.append[i-1] } msg.append[0] = v }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var table = can.page.AppendTable(can, msg, target||can.ui.content||can._output, msg.append, cb||function(value, key, index, data, list) { var _value = value
|
var table = can.page.AppendTable(can, msg, target||can.ui.content||can._output, msg.append, cb||function(value, key, index, data, list) { var _value = value
|
||||||
if (msg.IsDetail()) { if (key == mdb.VALUE) { key = data.key } data = {}
|
if (msg.IsDetail()) { if (key == mdb.VALUE) { key = data.key } data = {}
|
||||||
can.core.List(list, function(item) { data[item.key] = item.value })
|
can.core.List(list, function(item) { data[item.key] = item.value })
|
||||||
@ -676,7 +667,7 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
if (key == "user_avatar" && value) { _value = img(can.misc.Resource(can, data[key])) }
|
if (key == "user_avatar" && value) { _value = img(can.misc.Resource(can, data[key])) }
|
||||||
if (key == "auth_avatar" && value) { _value = img(can.misc.Resource(can, data[key])) }
|
if (key == "auth_avatar" && value) { _value = img(can.misc.Resource(can, data[key])) }
|
||||||
if (key == nfs.IMAGE && value) { _value = can.core.List(can.core.Split(data[key]), function(item) { return img(can.misc.ShareCache(can, item, data.space)) }).join("") }
|
if (key == nfs.IMAGE && value) { _value = can.core.List(can.core.Split(data[key]), function(item) { return img(can.misc.ShareCache(can, item, data.space)) }).join("") }
|
||||||
if (key == mdb.HASH && can.base.isIn(can.ConfIndex(), "share", "web.share", web.TOKEN, aaa.SESS)) { _value = value.slice(0, 4)+"****" }
|
if (key == mdb.HASH && can.ConfIndex() == web.TOKEN) { _value = value.slice(0, 4)+"****" }
|
||||||
if (key == "secret" && value) { _value = value.slice(0, 4)+"****" }
|
if (key == "secret" && value) { _value = value.slice(0, 4)+"****" }
|
||||||
if (key == "secretKey" && value) { _value = value.slice(0, 4)+"****" }
|
if (key == "secretKey" && value) { _value = value.slice(0, 4)+"****" }
|
||||||
if (key == "SecretKey" && value) { _value = value.slice(0, 4)+"****" }
|
if (key == "SecretKey" && value) { _value = value.slice(0, 4)+"****" }
|
||||||
@ -724,10 +715,7 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
can.page.SelectChild(can, can._option, html.DIV_ITEM_TEXT, function(target) { can.page.ClassList.set(can, target, "will", can.page.ClassList.has(can, target, key)) })
|
can.page.SelectChild(can, can._option, html.DIV_ITEM_TEXT, function(target) { can.page.ClassList.set(can, target, "will", can.page.ClassList.has(can, target, key)) })
|
||||||
}, _init: function(target) {
|
}, _init: function(target) {
|
||||||
if (msg.IsDetail() && key != "key") { can.onappend.style(can, key, target.parentNode) }
|
if (msg.IsDetail() && key != "key") { can.onappend.style(can, key, target.parentNode) }
|
||||||
if (option.indexOf(key) > -1) {
|
if (option.indexOf(key) > -1) { can.onappend.style(can, "k-"+(value.split(">").pop()), target.parentNode) }
|
||||||
can.onappend.style(can, "k-"+(value.split(">").pop()), target.parentNode)
|
|
||||||
if (msg.IsDetail()) { can.onappend.style(can, html.OPTION, target.parentNode) }
|
|
||||||
}
|
|
||||||
if (key == mdb.TYPE) { can.onappend.style(can, value, target.parentNode) }
|
if (key == mdb.TYPE) { can.onappend.style(can, value, target.parentNode) }
|
||||||
if (key == mdb.STATUS) { can.onappend.style(can, value, target.parentNode) }
|
if (key == mdb.STATUS) { can.onappend.style(can, value, target.parentNode) }
|
||||||
if (key == mdb.ENABLE) { can.onappend.style(can, value == ice.FALSE? mdb.DISABLE: mdb.ENABLE, target.parentNode) }
|
if (key == mdb.ENABLE) { can.onappend.style(can, value == ice.FALSE? mdb.DISABLE: mdb.ENABLE, target.parentNode) }
|
||||||
@ -749,7 +737,6 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
})
|
})
|
||||||
keys && can.page.RangeTable(can, table, can.core.List(keys, function(key) { return can.page.Select(can, table, html.TH, function(th, index) { if (th.innerHTML == key) { return index } })[0] }))
|
keys && can.page.RangeTable(can, table, can.core.List(keys, function(key) { return can.page.Select(can, table, html.TH, function(th, index) { if (th.innerHTML == key) { return index } })[0] }))
|
||||||
can.onappend.style(can, chat.CONTENT, table), msg.append && msg.append[msg.append.length-1] == ctx.ACTION && can.onappend.style(can, ctx.ACTION, table)
|
can.onappend.style(can, chat.CONTENT, table), msg.append && msg.append[msg.append.length-1] == ctx.ACTION && can.onappend.style(can, ctx.ACTION, table)
|
||||||
if (can.core.List(option).length == 1) { can.onappend.style(can, html.OPTION, table) }
|
|
||||||
if (msg.IsDetail()) { can.onappend.style(can, mdb.DETAIL, table), can.onappend.style(can, msg.Append(mdb.TYPE), table), can.onappend.style(can, msg.Append(mdb.STATUS), table) }
|
if (msg.IsDetail()) { can.onappend.style(can, mdb.DETAIL, table), can.onappend.style(can, msg.Append(mdb.TYPE), table), can.onappend.style(can, msg.Append(mdb.STATUS), table) }
|
||||||
can.onappend.style(can, html.FULL, table)
|
can.onappend.style(can, html.FULL, table)
|
||||||
return table
|
return table
|
||||||
@ -765,24 +752,19 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
var height = can.base.Max(720, can.ConfHeight()); can.page.style(can, target, html.HEIGHT, height, html.WIDTH, can.ConfWidth())
|
var height = can.base.Max(720, can.ConfHeight()); can.page.style(can, target, html.HEIGHT, height, html.WIDTH, can.ConfWidth())
|
||||||
}) } else if (text.indexOf("<svg") > 0) { can.page.Select(can, code, html.SVG, function(target) {
|
}) } else if (text.indexOf("<svg") > 0) { can.page.Select(can, code, html.SVG, function(target) {
|
||||||
can.page.style(can, target, html.MIN_HEIGHT, can.ConfHeight(), html.MIN_WIDTH, can.ConfWidth())
|
can.page.style(can, target, html.MIN_HEIGHT, can.ConfHeight(), html.MIN_WIDTH, can.ConfWidth())
|
||||||
}) } else {
|
}) } else { can.page.Select(can, code, html.INPUT_BUTTON, function(target) {
|
||||||
can.page.Select(can, code, html.INPUT_BUTTON, function(target) {
|
target.onclick = function(event) {
|
||||||
target.onclick = function(event) {
|
if (can.page.ClassList.has(can, target, "disable")) { return } can.page.ClassList.add(can, target, "disable")
|
||||||
if (can.page.ClassList.has(can, target, "disable")) { return } can.page.ClassList.add(can, target, "disable")
|
can.Update(can.request(event, can.Option(), {_toast: target.name, _cancel: function(event) {
|
||||||
can.Update(can.request(event, can.Option(), {_toast: target.name, _cancel: function(event) {
|
can.page.ClassList.del(can, target, "disable")
|
||||||
can.page.ClassList.del(can, target, "disable")
|
}}), [ctx.ACTION, target.name], function(msg) {
|
||||||
}}), [ctx.ACTION, target.name], function(msg) {
|
can.page.ClassList.del(can, target, "disable")
|
||||||
can.page.ClassList.del(can, target, "disable")
|
var sup = can._fields? can.sup: can; if (sup.onimport._process(sup, msg)) { return }
|
||||||
var sup = can._fields? can.sup: can; if (sup.onimport._process(sup, msg)) { return }
|
})
|
||||||
})
|
}
|
||||||
}
|
var style = can.page.buttonStyle(can, target.name)
|
||||||
var style = can.page.buttonStyle(can, target.name)
|
can.onappend.style(can, style, target)
|
||||||
can.onappend.style(can, style, target)
|
}) } return code.scrollBy && code.scrollBy(0, 10000), code
|
||||||
})
|
|
||||||
can.page.Select(can, code, html.A, function(target) {
|
|
||||||
target.target = "_blank"
|
|
||||||
})
|
|
||||||
} return code.scrollBy && code.scrollBy(0, 10000), code
|
|
||||||
},
|
},
|
||||||
tools: function(can, msg, cb, target) { can.onimport.tool(can, can.base.Obj(msg.Option(ice.MSG_TOOLKIT))||[], cb, target) },
|
tools: function(can, msg, cb, target) { can.onimport.tool(can, can.base.Obj(msg.Option(ice.MSG_TOOLKIT))||[], cb, target) },
|
||||||
style: function(can, style, target) { if (!style) { return }
|
style: function(can, style, target) { if (!style) { return }
|
||||||
@ -899,8 +881,8 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
can.onexport.session(can, "profile.show", can.page.isDisplay(can.ui.profile))
|
can.onexport.session(can, "profile.show", can.page.isDisplay(can.ui.profile))
|
||||||
if (can.isCmdMode()) { var _width = can.ConfWidth()
|
if (can.isCmdMode()) { var _width = can.ConfWidth()
|
||||||
can.page.SelectChild(can, can._fields, "legend,form.option,div.header", function(target) { _width -= target.offsetWidth })
|
can.page.SelectChild(can, can._fields, "legend,form.option,div.header", function(target) { _width -= target.offsetWidth })
|
||||||
can.page.SelectChild(can, can._fields, html.DIV_ACTION, function(target) { can.page.style(can, target, html.MAX_WIDTH, _width-21)
|
can.page.SelectChild(can, can._fields, "div.action", function(target) { can.page.style(can, target, html.MAX_WIDTH, _width-1)
|
||||||
// can.page.Select(can, target, "span.name", function(target, index, list) { can.page.style(can, target, html.MAX_WIDTH, (_width-50)/list.length-40) })
|
can.page.Select(can, target, "span.name", function(target, index, list) { can.page.style(can, target, html.MAX_WIDTH, (_width-50)/list.length-40) })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (can.page.isDisplay(can.ui.display)) {
|
if (can.page.isDisplay(can.ui.display)) {
|
||||||
@ -1120,16 +1102,12 @@ Volcanos(chat.ONMOTION, {
|
|||||||
},
|
},
|
||||||
scrollHold: function(can, cb, target) { target = target || can._output; var left = target.scrollLeft; cb(), target.scrollLeft = left },
|
scrollHold: function(can, cb, target) { target = target || can._output; var left = target.scrollLeft; cb(), target.scrollLeft = left },
|
||||||
scrollIntoView: function(can, target, margin, parent) { if (!target) { return }
|
scrollIntoView: function(can, target, margin, parent) { if (!target) { return }
|
||||||
margin = margin||0, parent = parent||target.parentNode; if (!parent) { return } if (parent._scroll) { return } parent._scroll = true
|
margin = margin||0, parent = parent||target.parentNode
|
||||||
if (target.offsetHeight == parent.offsetHeight) { margin = margin||10
|
if (!parent) { return }
|
||||||
var offset = (target.offsetLeft-margin) - parent.scrollLeft, step = offset < 0? -20: 20
|
if (parent._scroll) { return } parent._scroll = true
|
||||||
if (Math.abs(offset) > 3000) { return parent.scrollLeft = (target.offsetLeft-margin), delete(parent._scroll) }
|
var offset = (target.offsetTop-margin) - parent.scrollTop, step = offset < 0? -20: 20
|
||||||
can.core.Timer({interval: 10, length: offset/step}, function() { parent.scrollLeft += step }, function() { parent.scrollLeft = (target.offsetLeft-margin), delete(parent._scroll) })
|
if (Math.abs(offset) > 3000) { return parent.scrollTop = (target.offsetTop-margin), delete(parent._scroll) }
|
||||||
} else {
|
can.core.Timer({interval: 10, length: offset/step}, function() { parent.scrollTop += step }, function() { parent.scrollTop = (target.offsetTop-margin), delete(parent._scroll) })
|
||||||
var offset = (target.offsetTop-margin) - parent.scrollTop, step = offset < 0? -20: 20
|
|
||||||
if (Math.abs(offset) > 3000) { return parent.scrollTop = (target.offsetTop-margin), delete(parent._scroll) }
|
|
||||||
can.core.Timer({interval: 10, length: offset/step}, function() { parent.scrollTop += step }, function() { parent.scrollTop = (target.offsetTop-margin), delete(parent._scroll) })
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
clearFloat: function(can) {
|
clearFloat: function(can) {
|
||||||
var list = ["fieldset.input.float", "div.input.float", "div.carte.float", "div.toast.float"]; for (var i = 0; i < list.length; i++) {
|
var list = ["fieldset.input.float", "div.input.float", "div.carte.float", "div.toast.float"]; for (var i = 0; i < list.length; i++) {
|
||||||
|
64
index.css
64
index.css
@ -120,7 +120,12 @@ table.content th.select[data-asc="0"] i.bi-sort-up { display:none; }
|
|||||||
table.content th.select[data-asc="1"] i.bi-sort-down-alt { display:none; }
|
table.content th.select[data-asc="1"] i.bi-sort-down-alt { display:none; }
|
||||||
table.content td.option { cursor:pointer; }
|
table.content td.option { cursor:pointer; }
|
||||||
table.content td { padding:var(--table-padding); }
|
table.content td { padding:var(--table-padding); }
|
||||||
fieldset.log.debug table.content td:last-child { white-space:pre; max-width:800px; min-width:600px; }
|
fieldset.log.debug table.content td:last-child {
|
||||||
|
// white-space:pre-line;
|
||||||
|
// word-break:break-all;
|
||||||
|
white-space:pre;
|
||||||
|
max-width:800px; min-width:600px;
|
||||||
|
}
|
||||||
table.content td i { padding:var(--input-padding); }
|
table.content td i { padding:var(--input-padding); }
|
||||||
table.content:not(.detail) td img { height:48px; width:auto; }
|
table.content:not(.detail) td img { height:48px; width:auto; }
|
||||||
table.content:not(.detail) td input.icons { display:none; }
|
table.content:not(.detail) td input.icons { display:none; }
|
||||||
@ -137,10 +142,6 @@ table.content.action td:last-child input.danger:hover { background-color:var(--h
|
|||||||
table.content.detail td:first-child { word-break:keep-all; white-space:pre; }
|
table.content.detail td:first-child { word-break:keep-all; white-space:pre; }
|
||||||
table.content.detail td:first-child { text-align:center; }
|
table.content.detail td:first-child { text-align:center; }
|
||||||
table.content.detail td:first-child { position:sticky; left:0; }
|
table.content.detail td:first-child { position:sticky; left:0; }
|
||||||
table.content.option td.option { position:sticky; left:2px; z-index:1; box-shadow:var(--box-shadow); background-color:var(--th-bg-color); }
|
|
||||||
table.content.option th.option { position:sticky; left:2px; z-index:2; }
|
|
||||||
table.content.option.checkbox td.option { left:50px; }
|
|
||||||
table.content.option.checkbox th.option { left:50px; }
|
|
||||||
table.content.detail tr td:first-child { background-color:var(--plugin-bg-color); cursor:default; }
|
table.content.detail tr td:first-child { background-color:var(--plugin-bg-color); cursor:default; }
|
||||||
body:not(.mobile) table.content.detail tr:hover:not(.action) td:first-child { background-color:var(--hover-bg-color); }
|
body:not(.mobile) table.content.detail tr:hover:not(.action) td:first-child { background-color:var(--hover-bg-color); }
|
||||||
table.content.detail td i { display:none; }
|
table.content.detail td i { display:none; }
|
||||||
@ -149,12 +150,19 @@ table.content.detail tr.action { background-color:var(--plugin-bg-color); positi
|
|||||||
table.content.detail tr.action input.icons { display:none; }
|
table.content.detail tr.action input.icons { display:none; }
|
||||||
table.content.detail tr.action input { color:var(--notice-bg-color); }
|
table.content.detail tr.action input { color:var(--notice-bg-color); }
|
||||||
table.content.detail tr.action input.danger { color:var(--danger-bg-color); }
|
table.content.detail tr.action input.danger { color:var(--danger-bg-color); }
|
||||||
table.content.detail tr.action input.notice:not(:hover) { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
table.content.detail tr.action input.notice:not(:hover) {
|
||||||
|
background-color:var(--notice-bg-color); color:var(--notice-fg-color);
|
||||||
|
}
|
||||||
table.content.detail tr.action i { display:unset; color:var(--notice-bg-color); }
|
table.content.detail tr.action i { display:unset; color:var(--notice-bg-color); }
|
||||||
table.content.detail tr.action i.bi-trash { color:var(--danger-bg-color); }
|
table.content.detail tr.action i.bi-trash { color:var(--danger-bg-color); }
|
||||||
fieldset.plugin.cmd.output>div.output { top:0; }
|
fieldset.plugin.cmd.output>div.output { top:0; }
|
||||||
|
// div.output._prepare { position:absolute; }
|
||||||
div.output._unload { position:absolute; }
|
div.output._unload { position:absolute; }
|
||||||
fieldset._process input { background-color:transparent !important; color:var(--disable-fg-color) !important; }
|
fieldset._process input {
|
||||||
|
// border:var(--box-border) !important;
|
||||||
|
background-color:transparent !important;
|
||||||
|
color:var(--disable-fg-color) !important;
|
||||||
|
}
|
||||||
body.width1 table.content.checkbox th:first-child { padding:var(--table-padding) var(--input-padding); }
|
body.width1 table.content.checkbox th:first-child { padding:var(--table-padding) var(--input-padding); }
|
||||||
body.width1 table.content.checkbox td:first-child { padding:var(--table-padding) var(--input-padding); }
|
body.width1 table.content.checkbox td:first-child { padding:var(--table-padding) var(--input-padding); }
|
||||||
body.width1 table.content.action th:last-child { padding:var(--table-padding) var(--input-padding); }
|
body.width1 table.content.action th:last-child { padding:var(--table-padding) var(--input-padding); }
|
||||||
@ -178,6 +186,7 @@ div.title>div.status>div.item.access { background-color:var(--danger-bg-color);
|
|||||||
div.title>div.status>div.item>i { margin-right:var(--input-margin); }
|
div.title>div.status>div.item>i { margin-right:var(--input-margin); }
|
||||||
fieldset.store>div.output>fieldset.story:not(.float) { display:none; }
|
fieldset.store>div.output>fieldset.story:not(.float) { display:none; }
|
||||||
div.output.card>div.item { padding:var(--plugin-padding); margin:var(--plugin-padding); min-width:120px; position:relative; float:left; }
|
div.output.card>div.item { padding:var(--plugin-padding); margin:var(--plugin-padding); min-width:120px; position:relative; float:left; }
|
||||||
|
// div.output.card>div.item { background-color:var(--plugin-bg-color); color:var(--plugin-fg-color); }
|
||||||
div.output.card>div.item:hover { background-color:var(--plugin-bg-color); color:var(--plugin-fg-color); }
|
div.output.card>div.item:hover { background-color:var(--plugin-bg-color); color:var(--plugin-fg-color); }
|
||||||
div.output.card>div.item.stop { color:var(--disable-fg-color); }
|
div.output.card>div.item.stop { color:var(--disable-fg-color); }
|
||||||
div.output.card>div.item>div.title { border-bottom:var(--box-border); font-size:var(--legend-font-size); font-weight:bold; padding-bottom:var(--input-padding); display:flex; align-items:center; }
|
div.output.card>div.item>div.title { border-bottom:var(--box-border); font-size:var(--legend-font-size); font-weight:bold; padding-bottom:var(--input-padding); display:flex; align-items:center; }
|
||||||
@ -187,6 +196,7 @@ div.output.card>div.item>div.title>div.title>span.exists { color:var(--notice-bg
|
|||||||
div.output.card>div.item>div.title>img { height:var(--header-height); width:var(--header-height); margin:0; float:left; }
|
div.output.card>div.item>div.title>img { height:var(--header-height); width:var(--header-height); margin:0; float:left; }
|
||||||
div.output.card>div.item>div.title>img.jpg { padding:var(--input-padding); }
|
div.output.card>div.item>div.title>img.jpg { padding:var(--input-padding); }
|
||||||
div.item.card:not(.hide) { position:relative; display:flex; align-items:center; padding:0; }
|
div.item.card:not(.hide) { position:relative; display:flex; align-items:center; padding:0; }
|
||||||
|
// div.output>div.item.card { border:solid 5px var(--plugin-bg-color); }
|
||||||
div.item.card img { height:60px; width:60px; margin:5px; }
|
div.item.card img { height:60px; width:60px; margin:5px; }
|
||||||
div.item.card div.info { width:100%; }
|
div.item.card div.info { width:100%; }
|
||||||
div.item.card div.title { font-size:16px; }
|
div.item.card div.title { font-size:16px; }
|
||||||
@ -227,12 +237,11 @@ div.output>div.code>div.form { text-align:center; font-size:15px; padding:60px 1
|
|||||||
div.output>div.code>div.form>input[type=button] { min-width:200px; }
|
div.output>div.code>div.form>input[type=button] { min-width:200px; }
|
||||||
div.output>div.code>div.form>input[type=button][name=confirm] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); margin:var(--button-margin) 0; }
|
div.output>div.code>div.form>input[type=button][name=confirm] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); margin:var(--button-margin) 0; }
|
||||||
body.en span[lang^=zh] { display:none; } body.zh span[lang^=en] { display:none; }
|
body.en span[lang^=zh] { display:none; } body.zh span[lang^=en] { display:none; }
|
||||||
fieldset>div.action { position:relative; }
|
|
||||||
fieldset.plugin.cmd:not(.output)>form.option { float:left; display:flex !important; }
|
fieldset.plugin.cmd:not(.output)>form.option { float:left; display:flex !important; }
|
||||||
fieldset.plugin.cmd:not(.output)>div.action { float:left; display:flex !important; flex-grow:1; height:var(--action-height); overflow:auto; }
|
fieldset.plugin.cmd:not(.output)>div.action { float:left; display:flex !important; flex-grow:1; height:var(--action-height); overflow:auto; }
|
||||||
fieldset.plugin.cmd:not(.output)>div.action div.tabs { margin-left:var(--button-margin); }
|
|
||||||
fieldset.plugin.cmd:not(.output)>div.action div.tabs:last-child { margin-right:var(--button-margin); }
|
fieldset.plugin.cmd:not(.output)>div.action div.tabs:last-child { margin-right:var(--button-margin); }
|
||||||
fieldset.plugin.cmd:not(.output)>div.action div.tabs.select { padding-top:2px; color:var(--hover-fg-color); }
|
fieldset.plugin.cmd:not(.output)>div.action div.tabs:first-child { margin-left:var(--button-margin); }
|
||||||
|
fieldset.plugin.cmd:not(.output)>div.action div.tabs.select { padding-top:2px; }
|
||||||
fieldset.plugin.cmd:not(.output)>div.action div.tabs>span.name { overflow:hidden; }
|
fieldset.plugin.cmd:not(.output)>div.action div.tabs>span.name { overflow:hidden; }
|
||||||
fieldset.plugin.cmd:not(.output)>div.header { float:right; display:flex; flex-direction:row-reverse; }
|
fieldset.plugin.cmd:not(.output)>div.header { float:right; display:flex; flex-direction:row-reverse; }
|
||||||
body.width2 fieldset.plugin.cmd:not(.output)>div.header { display:none; }
|
body.width2 fieldset.plugin.cmd:not(.output)>div.header { display:none; }
|
||||||
@ -408,7 +417,11 @@ body div.input.float td span.must { color:red; padding:0 5px; }
|
|||||||
body div.input.float td:nth-child(2) { padding:var(--table-padding) 0; }
|
body div.input.float td:nth-child(2) { padding:var(--table-padding) 0; }
|
||||||
body.width1 div.input.float table { width:100%; }
|
body.width1 div.input.float table { width:100%; }
|
||||||
body.width1 div.input.float tr:not(.hide) { display:flex; flex-direction:column; margin:var(--button-margin); }
|
body.width1 div.input.float tr:not(.hide) { display:flex; flex-direction:column; margin:var(--button-margin); }
|
||||||
body.width1 div.input.float td { padding:0; margin:var(--button-margin); }
|
body.width1 div.input.float td {
|
||||||
|
// padding:0 var(--button-padding);
|
||||||
|
padding:0;
|
||||||
|
margin:var(--button-margin);
|
||||||
|
}
|
||||||
body.widht1 div.input.float td:nth-child(1) { color:gray; font-size:var(--status-font-size); padding-left:var(--button-padding); margin-bottom:0; }
|
body.widht1 div.input.float td:nth-child(1) { color:gray; font-size:var(--status-font-size); padding-left:var(--button-padding); margin-bottom:0; }
|
||||||
body.width1 div.input.float td:nth-child(2) { display:none; }
|
body.width1 div.input.float td:nth-child(2) { display:none; }
|
||||||
body div.input.float tr.img td:last-child>span { display:none; }
|
body div.input.float tr.img td:last-child>span { display:none; }
|
||||||
@ -420,7 +433,7 @@ body div.input.float tr.icon td:last-child { position:relative; }
|
|||||||
body div.input.float tr.icon td:last-child img:first-child { height:28px; width:28px; position:absolute; left:12px; top:12px; }
|
body div.input.float tr.icon td:last-child img:first-child { height:28px; width:28px; position:absolute; left:12px; top:12px; }
|
||||||
body div.input.float tr.icon td:last-child input { padding-left:var(--action-height); }
|
body div.input.float tr.icon td:last-child input { padding-left:var(--action-height); }
|
||||||
body div.input.float tr.icons td:last-child img { height:28px; width:28px; position:absolute; left:2px; top:2px; }
|
body div.input.float tr.icons td:last-child img { height:28px; width:28px; position:absolute; left:2px; top:2px; }
|
||||||
body div.input.float tr.icons td:last-child span:not(.icon) { font-family:var(--code-font-family); position:absolute; left:33px; line-height:var(--action-height); }
|
body div.input.float tr.icons td:last-child span:not(.icon) { font-family:var(--code-font-family); position:absolute; left:33px; }
|
||||||
body div.input.float tr.icons td:last-child input { padding-left:var(--action-height); }
|
body div.input.float tr.icons td:last-child input { padding-left:var(--action-height); }
|
||||||
body div.input.float td span.icon { margin-left:-20px; visibility:hidden; }
|
body div.input.float td span.icon { margin-left:-20px; visibility:hidden; }
|
||||||
body div.input.float td span.icons { margin-left:-20px; visibility:hidden; }
|
body div.input.float td span.icons { margin-left:-20px; visibility:hidden; }
|
||||||
@ -489,6 +502,7 @@ fieldset.vimer>div.output div.project fieldset.plug>div.output { height:100%; }
|
|||||||
fieldset.vimer>div.output div.project fieldset.plug div.output.card>div.item { min-width:120px; width:calc(100% - 2*var(--input-margin)); }
|
fieldset.vimer>div.output div.project fieldset.plug div.output.card>div.item { min-width:120px; width:calc(100% - 2*var(--input-margin)); }
|
||||||
div.float { position:fixed; }
|
div.float { position:fixed; }
|
||||||
div.output { position:relative; }
|
div.output { position:relative; }
|
||||||
|
// div.content { position:relative; }
|
||||||
div.output>div.code { position:sticky; left:0; }
|
div.output>div.code { position:sticky; left:0; }
|
||||||
div.output>div.code>img { margin:5px; max-width:100%; }
|
div.output>div.code>img { margin:5px; max-width:100%; }
|
||||||
div.output.flex { overflow:hidden; align-items:flex-start; justify-content: flex-start; }
|
div.output.flex { overflow:hidden; align-items:flex-start; justify-content: flex-start; }
|
||||||
@ -520,10 +534,12 @@ input[type=button] { border:var(--input-border); border-radius:var(--button-radi
|
|||||||
body:not(.mobile) input[type=button]:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
body:not(.mobile) input[type=button]:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
||||||
input[type=button].danger:hover { color:var(--danger-fg-color); }
|
input[type=button].danger:hover { color:var(--danger-fg-color); }
|
||||||
input[type=button].notice:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
input[type=button].notice:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
||||||
input[type=button].notice { border:var(--box-notice); color:var(--notice-bg-color); }
|
// input[type=button].danger { color:var(--danger-bg-color) !important; }
|
||||||
input[type=button].danger { border:var(--box-danger); color:var(--danger-bg-color); }
|
input[type=button].notice { border:var(--box-notice); }
|
||||||
body:not(.mobile) table.content tr:hover { background-color:var(--tr-hover-bg-color); }
|
body:not(.mobile) table.content tr:hover { background-color:var(--tr-hover-bg-color); }
|
||||||
table.content tr.select { background-color:var(--tr-hover-bg-color); }
|
table.content tr.select { background-color:var(--tr-hover-bg-color); }
|
||||||
|
// table.content tr.danger { background-color:var(--danger-bg-color); color:var(--danger-fg-color); }
|
||||||
|
// table.content tr.notice { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
||||||
table.content tr.disable { color:var(--disable-fg-color); }
|
table.content tr.disable { color:var(--disable-fg-color); }
|
||||||
table.content tr.offline { color:var(--disable-fg-color); }
|
table.content tr.offline { color:var(--disable-fg-color); }
|
||||||
table.content tr.invalid { color:var(--disable-fg-color); }
|
table.content tr.invalid { color:var(--disable-fg-color); }
|
||||||
@ -534,7 +550,7 @@ table.content td.select { background-color:var(--td-hover-bg-color); color:var(-
|
|||||||
table.content td i:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
table.content td i:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
||||||
table.content td.action { background-color:var(--th-bg-color); color:var(--th-fg-color); }
|
table.content td.action { background-color:var(--th-bg-color); color:var(--th-fg-color); }
|
||||||
table.content.checkbox td:first-child { background-color:var(--th-bg-color); }
|
table.content.checkbox td:first-child { background-color:var(--th-bg-color); }
|
||||||
body:not(.mobile) table.content:not(.option):hover td.option:not(:hover) { background-color:var(--tr-hover-bg-color); color:var(--hover-fg-color); }
|
body:not(.mobile) table.content:hover td.option:not(:hover) { background-color:var(--tr-hover-bg-color); color:var(--hover-fg-color); }
|
||||||
hr, td.hr { border-bottom:var(--box-border); margin:var(--input-margin); }
|
hr, td.hr { border-bottom:var(--box-border); margin:var(--input-margin); }
|
||||||
h1:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
h1:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
||||||
h2:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
h2:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
||||||
@ -601,7 +617,6 @@ div.carte div.item:hover { background-color:var(--hover-bg-color); }
|
|||||||
div.carte div.item.notice:hover { background-color:var(--notice-bg-color) !important; color:var(--notice-fg-color) !important; }
|
div.carte div.item.notice:hover { background-color:var(--notice-bg-color) !important; color:var(--notice-fg-color) !important; }
|
||||||
div.carte div.item.danger:hover { background-color:var(--danger-bg-color) !important; color:var(--danger-fg-color) !important; }
|
div.carte div.item.danger:hover { background-color:var(--danger-bg-color) !important; color:var(--danger-fg-color) !important; }
|
||||||
/* z-index */
|
/* z-index */
|
||||||
table.content.action th:last-child { z-index:2; }
|
|
||||||
table.content.action td:last-child { z-index:1; }
|
table.content.action td:last-child { z-index:1; }
|
||||||
table.content.checkbox td:first-child { z-index:1; }
|
table.content.checkbox td:first-child { z-index:1; }
|
||||||
table.content.checkbox th:first-child { z-index:2; }
|
table.content.checkbox th:first-child { z-index:2; }
|
||||||
@ -649,7 +664,7 @@ fieldset.input.key table.content th { box-shadow:none; }
|
|||||||
fieldset.input.key table.content.checkbox td:first-child { box-shadow:none; }
|
fieldset.input.key table.content.checkbox td:first-child { box-shadow:none; }
|
||||||
table.content.checkbox td:first-child { box-shadow:var(--th-box-shadow); }
|
table.content.checkbox td:first-child { box-shadow:var(--th-box-shadow); }
|
||||||
table.content.action td:last-child { box-shadow:var(--th-box-shadow); }
|
table.content.action td:last-child { box-shadow:var(--th-box-shadow); }
|
||||||
table.content.detail tr.action td { box-shadow:var(--th-box-shadow); position:sticky; bottom:2px; }
|
table.content.detail tr.action td { box-shadow:var(--th-box-shadow); }
|
||||||
div.project:not(.toggle) { border-right:var(--box-border); overflow-x:hidden; }
|
div.project:not(.toggle) { border-right:var(--box-border); overflow-x:hidden; }
|
||||||
div.layout>div.profile:not(.toggle) { border-left:var(--box-border); }
|
div.layout>div.profile:not(.toggle) { border-left:var(--box-border); }
|
||||||
div.layout>div.display:not(.toggle) { border-top:var(--box-border); }
|
div.layout>div.display:not(.toggle) { border-top:var(--box-border); }
|
||||||
@ -663,6 +678,7 @@ body { font-family:var(--body-font-family); }
|
|||||||
legend { font-family:var(--legend-font-family); font-style:italic; }
|
legend { font-family:var(--legend-font-family); font-style:italic; }
|
||||||
input { font-family:var(--input-font-family); }
|
input { font-family:var(--input-font-family); }
|
||||||
kbd { font-family:var(--code-font-family); line-height:var(--code-line-height); }
|
kbd { font-family:var(--code-font-family); line-height:var(--code-line-height); }
|
||||||
|
// kbd:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
||||||
table.content { font-family:var(--table-font-family); }
|
table.content { font-family:var(--table-font-family); }
|
||||||
table.content th { font-family:var(--input-font-family); font-style:italic; }
|
table.content th { font-family:var(--input-font-family); font-style:italic; }
|
||||||
body div.output>div.code { font-family:var(--table-font-family); padding:var(--table-padding); }
|
body div.output>div.code { font-family:var(--table-font-family); padding:var(--table-padding); }
|
||||||
@ -684,12 +700,12 @@ table.content col.action { width:var(--project); }
|
|||||||
table.content.detail td:first-child { width:var(--input-width); box-shadow:var(--th-box-shadow); }
|
table.content.detail td:first-child { width:var(--input-width); box-shadow:var(--th-box-shadow); }
|
||||||
body.mobile table.content.detail td:first-child { max-width:150px; word-break:break-all; white-space:break-spaces; }
|
body.mobile table.content.detail td:first-child { max-width:150px; word-break:break-all; white-space:break-spaces; }
|
||||||
table.content.detail td { min-width:90px; }
|
table.content.detail td { min-width:90px; }
|
||||||
table.content.detail tr.option td { top:34px; z-index:2; }
|
|
||||||
fieldset.web.chat.island.portal>div.output>table.content.detail td { min-width:80px; text-align:center; }
|
fieldset.web.chat.island.portal>div.output>table.content.detail td { min-width:80px; text-align:center; }
|
||||||
body.void fieldset.web.chat.island.portal>div.status { display:none; }
|
body.void fieldset.web.chat.island.portal>div.status { display:none; }
|
||||||
table.content, div.code, div.story[data-type=spark] { white-space:pre; margin:0; }
|
table.content, div.code, div.story[data-type=spark] { white-space:pre; margin:0; }
|
||||||
div.output>div.code video { max-width:100%; }
|
div.output>div.code video { max-width:100%; }
|
||||||
div.story[data-type=spark] { border-left:var(--box-notice3); padding:var(--input-padding) var(--table-padding); }
|
div.story[data-type=spark] { border-left:var(--box-notice3); padding:var(--input-padding) var(--table-padding); }
|
||||||
|
// div.story[data-type=spark][data-name=shell] { box-shadow:var(--plugin-box-shadow); }
|
||||||
fieldset.inner.result>div.output { border-left:var(--box-danger3); }
|
fieldset.inner.result>div.output { border-left:var(--box-danger3); }
|
||||||
iframe { height:var(--iframe-height); width:100%; }
|
iframe { height:var(--iframe-height); width:100%; }
|
||||||
fieldset>form.option>div.item.text.cmd { width:100%; }
|
fieldset>form.option>div.item.text.cmd { width:100%; }
|
||||||
@ -734,12 +750,14 @@ body.windows form.option>div.item.icon.refresh { font-size:24px; line-height:28p
|
|||||||
body.windows form.option>div.item.icon.goback { font-size:24px; line-height:28px; }
|
body.windows form.option>div.item.icon.goback { font-size:24px; line-height:28px; }
|
||||||
body.windows div.item.button.refresh>span.icon { font-size:22px; line-height:28px; }
|
body.windows div.item.button.refresh>span.icon { font-size:22px; line-height:28px; }
|
||||||
body.windows div.item.button.create>span.icon { line-height:28px; }
|
body.windows div.item.button.create>span.icon { line-height:28px; }
|
||||||
|
// div.item.text { position:relative; display:flex; align-items:center; }
|
||||||
div.item.text { position:relative; align-items:center; }
|
div.item.text { position:relative; align-items:center; }
|
||||||
div.item.text.filter input { padding-left:24px; }
|
div.item.text.filter input { padding-left:24px; }
|
||||||
div.item.text._icon input { padding-left:24px; }
|
div.item.text._icon input { padding-left:24px; }
|
||||||
div.item.select._icon i:first-child { color:var(--disable-fg-color); position:absolute; left:0; padding:var(--input-padding); }
|
div.item.select._icon i:first-child { color:var(--disable-fg-color); position:absolute; left:0; padding:var(--input-padding); }
|
||||||
div.item.select._icon:hover i:first-child { color:unset; }
|
div.item.select._icon:hover i:first-child { color:unset; }
|
||||||
div.item.text>input { width:var(--input-width); height:var(--action-height); }
|
div.item.text>input { width:var(--input-width); height:var(--action-height); }
|
||||||
|
// fieldset.story>form.option>div.item.text>input { max-width:100px; }
|
||||||
div.item.text.id>input { width:80px; }
|
div.item.text.id>input { width:80px; }
|
||||||
div.item.text.url>input { width:var(--river-width); }
|
div.item.text.url>input { width:var(--river-width); }
|
||||||
div.item.text.port>input { width:80px; }
|
div.item.text.port>input { width:80px; }
|
||||||
@ -754,7 +772,7 @@ body:not(.width2):not(.mobile) fieldset.plugin.feel>form.option>div.item.text.fi
|
|||||||
body:not(.width2) fieldset>div.action>div.item.text.filter>input { width:var(--input-width); height:30px; transition:all 1.2s; }
|
body:not(.width2) fieldset>div.action>div.item.text.filter>input { width:var(--input-width); height:30px; transition:all 1.2s; }
|
||||||
body:not(.width2) fieldset>div.action>div.item.text.filter>input:focus { width:var(--project-width); transition:all 0.5s; }
|
body:not(.width2) fieldset>div.action>div.item.text.filter>input:focus { width:var(--project-width); transition:all 0.5s; }
|
||||||
div.item.text.will>input { border:var(--box-notice); }
|
div.item.text.will>input { border:var(--box-notice); }
|
||||||
div.item.text>i:first-child { color:var(--disable-fg-color); line-height:22px; padding:var(--input-padding); position:absolute; left:0; }
|
div.item.text>i:first-child { color:var(--disable-fg-color); position:absolute; left:0; padding:var(--input-padding); }
|
||||||
body:mobile(.mobile) div.item.text:hover>i:first-child { color:unset; }
|
body:mobile(.mobile) div.item.text:hover>i:first-child { color:unset; }
|
||||||
div.item.text>span.icon { font-size:var(--icon-font-size); padding:var(--input-padding); position:absolute; right:0; visibility:hidden; }
|
div.item.text>span.icon { font-size:var(--icon-font-size); padding:var(--input-padding); position:absolute; right:0; visibility:hidden; }
|
||||||
body:not(.mobile) div.item.text:hover>span.icon { visibility:visible; }
|
body:not(.mobile) div.item.text:hover>span.icon { visibility:visible; }
|
||||||
@ -888,6 +906,7 @@ body.mobile.landscape fieldset.Action { margin-top:0; }
|
|||||||
body.mobile.landscape>div.input.login { padding:0; }
|
body.mobile.landscape>div.input.login { padding:0; }
|
||||||
body.mobile.landscape>div.input.login>div.output { height:290px; }
|
body.mobile.landscape>div.input.login>div.output { height:290px; }
|
||||||
body.mobile.landscape>div.input.login>div.output img { max-height:280px; }
|
body.mobile.landscape>div.input.login>div.output img { max-height:280px; }
|
||||||
|
// html.login body.mobile>fieldset.panel.Action>div.output { background-color:var(--panel-bg-color); }
|
||||||
/* print */
|
/* print */
|
||||||
body.print { -webkit-filter: grayscale(100%); }
|
body.print { -webkit-filter: grayscale(100%); }
|
||||||
body.print { background-color:white; color:black; }
|
body.print { background-color:white; color:black; }
|
||||||
@ -918,7 +937,6 @@ fieldset.iframe.float>legend { background-color:var(--panel-bg-color); color:var
|
|||||||
fieldset.iframe.float.portal { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
fieldset.iframe.float.portal { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
||||||
fieldset.iframe.float.portal>legend { background-color:var(--notice-bg-color); color:var(--notice-fg-color); margin-right:10px; }
|
fieldset.iframe.float.portal>legend { background-color:var(--notice-bg-color); color:var(--notice-fg-color); margin-right:10px; }
|
||||||
fieldset.iframe.float.portal>div.action>div.item.full { display:none; }
|
fieldset.iframe.float.portal>div.action>div.item.full { display:none; }
|
||||||
fieldset.iframe.float.portal>form.option>div.item.icon.goback { display:none; }
|
|
||||||
fieldset.desktop { border:0; }
|
fieldset.desktop { border:0; }
|
||||||
fieldset.desktop>legend:not(:hover) { background-color:transparent; color:white; }
|
fieldset.desktop>legend:not(:hover) { background-color:transparent; color:white; }
|
||||||
fieldset.desktop>form.option>div.item:not(.delete) { display:none; }
|
fieldset.desktop>form.option>div.item:not(.delete) { display:none; }
|
||||||
@ -929,7 +947,6 @@ fieldset.desktop>div.status { display:none; }
|
|||||||
fieldset.qrcode>div.output div.code { padding:0; }
|
fieldset.qrcode>div.output div.code { padding:0; }
|
||||||
fieldset.xterm>div.output>div.project { font-family:var(--code-font-family); }
|
fieldset.xterm>div.output>div.project { font-family:var(--code-font-family); }
|
||||||
fieldset.xterm>div.output>div.project div.item.offline { color:var(--disable-fg-color); }
|
fieldset.xterm>div.output>div.project div.item.offline { color:var(--disable-fg-color); }
|
||||||
fieldset.xterm.output { background-color:var(--output-bg-color); }
|
|
||||||
fieldset.xterm.float>div.status { display:none; }
|
fieldset.xterm.float>div.status { display:none; }
|
||||||
fieldset.xterm.float>form.option>div.item.text { display:none; }
|
fieldset.xterm.float>form.option>div.item.text { display:none; }
|
||||||
fieldset.full { position:fixed; bottom:unset; }
|
fieldset.full { position:fixed; bottom:unset; }
|
||||||
@ -949,7 +966,7 @@ fieldset.plug.dream.zone>div.output>div.item { display:flex; padding:var(--input
|
|||||||
fieldset.plug.dream.zone>div.output>div.item>img { margin-right:var(--input-margin); }
|
fieldset.plug.dream.zone>div.output>div.item>img { margin-right:var(--input-margin); }
|
||||||
fieldset.plug.dream.zone>div.output>div.item>span { line-height:var(--action-height); }
|
fieldset.plug.dream.zone>div.output>div.item>span { line-height:var(--action-height); }
|
||||||
fieldset.plug.dream.zone>div.output>div.item.origin.select { border-right:var(--box-danger3); }
|
fieldset.plug.dream.zone>div.output>div.item.origin.select { border-right:var(--box-danger3); }
|
||||||
fieldset.web.stats>div.output { align-items:normal; }
|
fieldset.web.stats>div.output { align-items: normal; }
|
||||||
fieldset.web.code.git>div.output>fieldset.web.code.inner>div.output { overflow:auto; }
|
fieldset.web.code.git>div.output>fieldset.web.code.inner>div.output { overflow:auto; }
|
||||||
fieldset.web.code.git.total.draw div.output { text-align:center; }
|
fieldset.web.code.git.total.draw div.output { text-align:center; }
|
||||||
fieldset.web.code.git.trend>div.output rect { cursor:pointer; }
|
fieldset.web.code.git.trend>div.output rect { cursor:pointer; }
|
||||||
@ -968,7 +985,6 @@ fieldset.web.chat.location>div.output>div.layout>div.layout { position:relative;
|
|||||||
fieldset.web.chat.location>div.output .amap-toolbar { z-index:unset; }
|
fieldset.web.chat.location>div.output .amap-toolbar { z-index:unset; }
|
||||||
fieldset.web.chat.location>div.output .amap-controls { z-index:unset; }
|
fieldset.web.chat.location>div.output .amap-controls { z-index:unset; }
|
||||||
fieldset.web.chat.location>div.output .amap-maptypecontrol { z-index:unset; }
|
fieldset.web.chat.location>div.output .amap-maptypecontrol { z-index:unset; }
|
||||||
fieldset.web.code.compose.insight>div.output { max-height:unset !important; height:unset !important; overflow:hidden; }
|
|
||||||
fieldset.web.chat.location>div.output>div.layout>div.layout>div.profile { background-color:var(--plugin-bg-color); position:absolute; right:0; width:360px; z-index:2; border-left:none; }
|
fieldset.web.chat.location>div.output>div.layout>div.layout>div.profile { background-color:var(--plugin-bg-color); position:absolute; right:0; width:360px; z-index:2; border-left:none; }
|
||||||
fieldset.web.chat.color table.content { border-collapse:collapse; }
|
fieldset.web.chat.color table.content { border-collapse:collapse; }
|
||||||
fieldset.web.mall.region>div.output>table.content td:nth-child(3) { text-align:right; }
|
fieldset.web.mall.region>div.output>table.content td:nth-child(3) { text-align:right; }
|
||||||
@ -991,7 +1007,7 @@ fieldset.plan>div.output>div.layout>div.layout { align-items:flex-start; }
|
|||||||
fieldset.plan>div.output>div.layout { height:100%; }
|
fieldset.plan>div.output>div.layout { height:100%; }
|
||||||
fieldset.draw>form.option>div.item.pid>input { width:var(--button-width) !important; }
|
fieldset.draw>form.option>div.item.pid>input { width:var(--button-width) !important; }
|
||||||
fieldset.draw>div.output>div.layout>div.layout>div.profile table { width:100%; }
|
fieldset.draw>div.output>div.layout>div.layout>div.profile table { width:100%; }
|
||||||
fieldset.draw>div.output>div.layout>div.layout>div.profile { width:var(--project-width); flex:0 0 var(--project-width); flex-grow:1; }
|
fieldset.draw>div.output>div.layout>div.layout>div.profile { width:var(--project-width); flex:0 0 var(--project-width); }
|
||||||
fieldset.draw>div.output>svg { margin-bottom:-5px; }
|
fieldset.draw>div.output>svg { margin-bottom:-5px; }
|
||||||
fieldset.draw>div.output>svg { min-height:100%; }
|
fieldset.draw>div.output>svg { min-height:100%; }
|
||||||
body.dark fieldset.float:not(.iframe) { background-color:#000c; }
|
body.dark fieldset.float:not(.iframe) { background-color:#000c; }
|
||||||
|
12
lib/user.js
12
lib/user.js
@ -61,15 +61,15 @@ Volcanos("user", {
|
|||||||
close: function(url) { return window.close() },
|
close: function(url) { return window.close() },
|
||||||
theme: function(can, name) { can.base.isString(name) && (name = [name]) || name || []
|
theme: function(can, name) { can.base.isString(name) && (name = [name]) || name || []
|
||||||
name.push(html.WIDTH+parseInt((can.page.width()+32)/320))
|
name.push(html.WIDTH+parseInt((can.page.width()+32)/320))
|
||||||
can.user.mod.isCmd && name.push(chat.CMD), can.user.mod.cmd && name.push(can.base.replaceAll(can.user.mod.cmd, ".", " "))
|
can.misc.isDebug(can) && name.push(log.DEBUG)
|
||||||
|
can.user.info.userrole && name.push(can.user.info.userrole)
|
||||||
|
can.user.language(can) && name.push(can.core.Split(can.user.language(can), "-_.")[0])
|
||||||
|
can.user.mod.isCmd && name.push(chat.CMD), can.user.mod.cmd && name.push(can.user.mod.cmd.replaceAll(".", " "))
|
||||||
|
can.user.isWeiXin && name.push("weixin")
|
||||||
// if (window.innerWidth <= 1080) { can.user.isIPad = true }
|
// if (window.innerWidth <= 1080) { can.user.isIPad = true }
|
||||||
can.user.isIPad && name.push("pad") && can.user.isLandscape() && name.push(html.LANDSCAPE)
|
can.user.isIPad && name.push("pad") && can.user.isLandscape() && name.push(html.LANDSCAPE)
|
||||||
can.user.isWindows && name.push(html.WINDOWS), can.user.isWebview && name.push(html.WEBVIEW)
|
|
||||||
can.user.isMobile && name.push(html.MOBILE) && can.user.isLandscape() && name.push(html.LANDSCAPE)
|
can.user.isMobile && name.push(html.MOBILE) && can.user.isLandscape() && name.push(html.LANDSCAPE)
|
||||||
can.user.isWeiXin && name.push("weixin")
|
can.user.isWindows && name.push(html.WINDOWS), can.user.isWebview && name.push(html.WEBVIEW)
|
||||||
can.user.language(can) && name.push(can.core.Split(can.user.language(can), "-_.")[0])
|
|
||||||
can.user.info.userrole && name.push(can.user.info.userrole)
|
|
||||||
can.misc.isDebug(can) && name.push(log.DEBUG)
|
|
||||||
can.page.styleClass(can, document.body, name.join(lex.SP))
|
can.page.styleClass(can, document.body, name.join(lex.SP))
|
||||||
},
|
},
|
||||||
title: function(text) {
|
title: function(text) {
|
||||||
|
@ -3,7 +3,7 @@ fieldset.Footer>div.output div.item { padding:7px; height:var(--footer-height);
|
|||||||
fieldset.Footer>div.output div.item.button { padding:7px 0; }
|
fieldset.Footer>div.output div.item.button { padding:7px 0; }
|
||||||
fieldset.Footer>div.output div.title:first-child { margin-left:var(--header-height); white-space:pre; }
|
fieldset.Footer>div.output div.title:first-child { margin-left:var(--header-height); white-space:pre; }
|
||||||
fieldset.Footer:not(.tabview)>div.output div.title:first-child { font-weight:bold; text-align:center; width:var(--river-width); }
|
fieldset.Footer:not(.tabview)>div.output div.title:first-child { font-weight:bold; text-align:center; width:var(--river-width); }
|
||||||
fieldset.Footer>div.output input[type=button] { background-color:transparent; color:var(--panel-fg-color); font-style:italic; border:0; }
|
fieldset.Footer>div.output input[type=button] { background-color:transparent; color:var(--panel-fg-color); border:0; }
|
||||||
fieldset.Footer>div.output div.toast { font-family:var(--status-font-family); line-height:18px; text-align:right; overflow:auto; flex-grow:1; justify-content:flex-end; }
|
fieldset.Footer>div.output div.toast { font-family:var(--status-font-family); line-height:18px; text-align:right; overflow:auto; flex-grow:1; justify-content:flex-end; }
|
||||||
fieldset.Footer>div.output div.state { font-family:var(--status-font-family); line-height:18px; white-space:pre; }
|
fieldset.Footer>div.output div.state { font-family:var(--status-font-family); line-height:18px; white-space:pre; }
|
||||||
fieldset.Footer>div.output div.state label { font-size:var(--status-font-size); }
|
fieldset.Footer>div.output div.state label { font-size:var(--status-font-size); }
|
||||||
|
@ -13,8 +13,8 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
// {index: chat.TUTOR},
|
// {index: chat.TUTOR},
|
||||||
// {index: chat.FLOWS, value: "流程"},
|
// {index: chat.FLOWS, value: "流程"},
|
||||||
// {index: chat.MESSAGE},
|
// {index: chat.MESSAGE},
|
||||||
{index: web.SPIDE, value: can.user.trans(can, "spide", "服务")},
|
{index: web.SPIDE, value: "服务"},
|
||||||
{index: web.SPACE, value: can.user.trans(can, "space", "空间")},
|
{index: web.SPACE, value: "空间"},
|
||||||
{index: cli.RUNTIME},
|
{index: cli.RUNTIME},
|
||||||
{index: code.XTERM, args: [cli.SH]},
|
{index: code.XTERM, args: [cli.SH]},
|
||||||
], function(value) { value.type = html.BUTTON, value.name = value.index
|
], function(value) { value.type = html.BUTTON, value.name = value.index
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Volcanos(chat.ONFIGURE, {img: {
|
Volcanos(chat.ONFIGURE, {img: {
|
||||||
_init: function(can, meta, target) { target.value == meta.value && (target.value = ""); var images = can.core.Split(target.value)
|
_init: function(can, meta, target) { target.value == meta.value && (target.value = ""); var images = can.core.Split(target.value)
|
||||||
var count = parseInt(meta.value||"1"), width = target.parentNode.offsetWidth; for (var n = 1; n < 10; n++) { if (n*n >= count) { width = (width/n-10); break } }
|
var count = parseInt(meta.value||"1"), width = target.parentNode.offsetWidth; for (var n = 1; n < 10; n++) { if (n*n >= count) { width = (width/n-10); break } }
|
||||||
// function add(target, hash) { target._hash = hash, can.page.Appends(can, target, [{img: can.base.MergeURL(can.misc.MergeURL(can, {_path: web.SHARE_CACHE+hash}, true), {pod: meta.space||undefined}), height: width, width: width}]) }
|
function add(target, hash) { target._hash = hash, can.page.Appends(can, target, [{img: can.base.MergeURL(can.misc.MergeURL(can, {_path: web.SHARE_CACHE+hash}, true), {pod: meta.space||undefined}), height: width, width: width}]) }
|
||||||
function add(target, hash) { target._hash = hash, can.page.Appends(can, target, [{img: hash, height: width, width: width}]) }
|
|
||||||
function set() { target.value = can.page.SelectChild(can, target.parentNode, html.DIV, function(target) { return target._hash }).join(mdb.FS) }
|
function set() { target.value = can.page.SelectChild(can, target.parentNode, html.DIV, function(target) { return target._hash }).join(mdb.FS) }
|
||||||
can.onmotion.hidden(can, target), can.onappend.style(can, html.FLEX, target.parentNode)
|
can.onmotion.hidden(can, target)
|
||||||
|
can.onappend.style(can, html.FLEX, target.parentNode)
|
||||||
for (var i = 0; i < count; i++) {
|
for (var i = 0; i < count; i++) {
|
||||||
can.page.Append(can, target.parentNode, [{view: html.FLEX, style: {
|
can.page.Append(can, target.parentNode, [{view: html.FLEX, style: {
|
||||||
"clear": i%n == 0? "both": "none", height: width, width: width,
|
"clear": i%n == 0? "both": "none", height: width, width: width,
|
||||||
|
@ -201,6 +201,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
can.onimport.process(can, msg, can.ui.display, height-border, width, function(sub) { can.ui.display._plugin = _msg._display = sub
|
can.onimport.process(can, msg, can.ui.display, height-border, width, function(sub) { can.ui.display._plugin = _msg._display = sub
|
||||||
sub.onaction.close = function() { can.onmotion.hidden(can, can.ui.display), can.onimport.layout(can) }
|
sub.onaction.close = function() { can.onmotion.hidden(can, can.ui.display), can.onimport.layout(can) }
|
||||||
sub.onimport.size(sub, height-border, width, true), can.onimport.layout(can)
|
sub.onimport.size(sub, height-border, width, true), can.onimport.layout(can)
|
||||||
|
// can.onmotion.delay(can, function() { can.onimport.layout(can) })
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
process: function(can, msg, target, height, width, cb) { can.onmotion.clear(can, target)
|
process: function(can, msg, target, height, width, cb) { can.onmotion.clear(can, target)
|
||||||
|
@ -280,9 +280,8 @@ Volcanos(chat.ONSYNTAX, {
|
|||||||
"not": code.DATATYPE, "first-child": code.DATATYPE, "last-child": code.DATATYPE, "nth-child": code.DATATYPE,
|
"not": code.DATATYPE, "first-child": code.DATATYPE, "last-child": code.DATATYPE, "nth-child": code.DATATYPE,
|
||||||
"placeholder": code.DATATYPE, "hover": code.DATATYPE, "focus": code.DATATYPE,
|
"placeholder": code.DATATYPE, "hover": code.DATATYPE, "focus": code.DATATYPE,
|
||||||
|
|
||||||
"$body": code.KEYWORD, "$fieldset": code.KEYWORD,
|
|
||||||
"$option": code.KEYWORD, "$action": code.KEYWORD, "$output": code.KEYWORD, "$status": code.KEYWORD,
|
|
||||||
"$content": code.KEYWORD, "$profile": code.KEYWORD, "$display": code.KEYWORD, "$project": code.KEYWORD,
|
"$content": code.KEYWORD, "$profile": code.KEYWORD, "$display": code.KEYWORD, "$project": code.KEYWORD,
|
||||||
|
"$option": code.KEYWORD, "$action": code.KEYWORD, "$output": code.KEYWORD, "$status": code.KEYWORD,
|
||||||
|
|
||||||
"output": code.KEYWORD,
|
"output": code.KEYWORD,
|
||||||
"background-color": code.FUNCTION, "color": code.FUNCTION,
|
"background-color": code.FUNCTION, "color": code.FUNCTION,
|
||||||
|
@ -25,6 +25,7 @@ Volcanos(chat.ONFIGURE, {
|
|||||||
if (can.base.beginWith(p, nfs.USR_LOCAL_WORK) || can.base.isIn(p,
|
if (can.base.beginWith(p, nfs.USR_LOCAL_WORK) || can.base.isIn(p,
|
||||||
nfs.USR_ICONS,
|
nfs.USR_ICONS,
|
||||||
"usr/material/",
|
"usr/material/",
|
||||||
|
// nfs.USR_PROGRAM,
|
||||||
nfs.USR_NODE_MODULES,
|
nfs.USR_NODE_MODULES,
|
||||||
nfs.USR_WEBSOCKET,
|
nfs.USR_WEBSOCKET,
|
||||||
nfs.USR_GO_QRCODE,
|
nfs.USR_GO_QRCODE,
|
||||||
@ -36,17 +37,17 @@ Volcanos(chat.ONFIGURE, {
|
|||||||
function show(target, zone, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) {
|
function show(target, zone, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) {
|
||||||
var cache, list = can.core.List(msg.Table(), function(value) {
|
var cache, list = can.core.List(msg.Table(), function(value) {
|
||||||
if (path == nfs.SRC && can.base.isIn(value.path,
|
if (path == nfs.SRC && can.base.isIn(value.path,
|
||||||
"main.svg",
|
|
||||||
"main.ico",
|
"main.ico",
|
||||||
"main.png",
|
"main.png",
|
||||||
"main.jpg",
|
"main.jpg",
|
||||||
|
"main.svg",
|
||||||
"qrcode.jpg",
|
"qrcode.jpg",
|
||||||
"version.go",
|
"version.go",
|
||||||
"binpack.go",
|
"binpack.go",
|
||||||
"binpack_usr.go",
|
"binpack_usr.go",
|
||||||
)) { return }
|
)) { return }
|
||||||
if (path == nfs.USR_RELEASE && can.base.isIn(value.path, "conf.go", "binpack.go")) { return }
|
if (path == nfs.USR_RELEASE && can.base.isIn(value.path, "conf.go", "binpack.go")) { return }
|
||||||
if (path == args[0] && args[1] == value.path) { value.expand = true }
|
if (path == args[0] && args[1].indexOf(value.path) == 0) { value.expand = true }
|
||||||
return value
|
return value
|
||||||
}); can.onmotion.clear(can, target), zone._total(msg.Length())
|
}); can.onmotion.clear(can, target), zone._total(msg.Length())
|
||||||
cache = can.onimport.tree(can, list, function(event, item, target) {
|
cache = can.onimport.tree(can, list, function(event, item, target) {
|
||||||
|
@ -46,7 +46,6 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
if (arg[1] == "~~~end~~~") { arg[0] == "current"? can.sup.onmotion._close({}, can.sup): can.sup.onimport._back(can.sup) } else { term.write(arg[1]) }
|
if (arg[1] == "~~~end~~~") { arg[0] == "current"? can.sup.onmotion._close({}, can.sup): can.sup.onimport._back(can.sup) } else { term.write(arg[1]) }
|
||||||
},
|
},
|
||||||
layout: function(can) {
|
layout: function(can) {
|
||||||
can.page.style(can, can._output, html.HEIGHT, can.ConfHeight())
|
|
||||||
can.ui.layout(can.ConfHeight(), can.ConfWidth(), 0, function() {
|
can.ui.layout(can.ConfHeight(), can.ConfWidth(), 0, function() {
|
||||||
can.core.Item(can.db, function(hash, term) { term._fit && term._fit.fit() })
|
can.core.Item(can.db, function(hash, term) { term._fit && term._fit.fit() })
|
||||||
can.db.value && can.db.value._term && can.onexport.term(can, can.db.value._term)
|
can.db.value && can.db.value._term && can.onexport.term(can, can.db.value._term)
|
||||||
|
@ -9,7 +9,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
can._temp = []
|
can._temp = []
|
||||||
if (can.ConfIndex() == web.WIKI_DRAW) { can.ui = can.onappend.layout(can), can.onexport.title(can, can.OptionPath())
|
if (can.ConfIndex() == web.WIKI_DRAW) { can.ui = can.onappend.layout(can), can.onexport.title(can, can.OptionPath())
|
||||||
if (can.isCmdMode() && !can.user.isMobile) { can.onmotion.toggle(can, can.ui.profile, true) } else { can.onmotion.hidden(can, can._action), can.onmotion.hidden(can, can.ui.project) }
|
if (can.isCmdMode() && !can.user.isMobile) { can.onmotion.toggle(can, can.ui.profile, true) } else { can.onmotion.hidden(can, can._action), can.onmotion.hidden(can, can.ui.project) }
|
||||||
} else { can.ui.content || (can.ui = {content: can._output}) } can.page.Modify(can, can.ui.content, msg.Results()||can.onexport.content(can))
|
} else { can.ui = {content: can._output} } can.page.Modify(can, can.ui.content, msg.Results()||can.onexport.content(can))
|
||||||
can.page.Select(can, can.ui.content, html.SVG, function(target) { can.ui.svg = can.ui.group = can.onimport._block(can, target), can.onimport._project(can, target), can.ui.profile && can.core.ItemCB(can.onaction, target, can)
|
can.page.Select(can, can.ui.content, html.SVG, function(target) { can.ui.svg = can.ui.group = can.onimport._block(can, target), can.onimport._project(can, target), can.ui.profile && can.core.ItemCB(can.onaction, target, can)
|
||||||
can.page.Select(can, target, "", function(target) { can.onimport._block(can, target), can.page.tagis(target, svg.G) && target.Value(html.CLASS) && can.onimport._project(can, target) })
|
can.page.Select(can, target, "", function(target) { can.onimport._block(can, target), can.page.tagis(target, svg.G) && target.Value(html.CLASS) && can.onimport._project(can, target) })
|
||||||
}), can.ondetail._select(can, can.db.hash[1]||can.OptionPid()||can.ui.svg.Value(svg.PID)), can.ui.points = []
|
}), can.ondetail._select(can, can.db.hash[1]||can.OptionPid()||can.ui.svg.Value(svg.PID)), can.ui.points = []
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
Volcanos(chat.ONIMPORT, {
|
Volcanos(chat.ONIMPORT, {
|
||||||
_init: function(can, msg, cb) { can.ui = can.onappend.layout(can)
|
_init: function(can, msg, cb) { can.page.requireDraw(can, function() { can.db.delay = 50
|
||||||
can.page.requireDraw(can, function() { can.db.delay = 50, can.onappend.style(can, "pie"), can.onaction.list = []
|
can.onappend.style(can, "pie")
|
||||||
can.list = can.onimport._data(can, msg, can.Conf(mdb.FIELD)||msg.append[1]||mdb.VALUE)
|
can.list = can.onimport._data(can, msg, can.Conf(mdb.FIELD)||msg.append[1]||mdb.VALUE)
|
||||||
can.core.List(can.list, function(item) { msg.Push("weight", item.value.weight = parseInt(item.span*100/360)+"%").Push(cli.COLOR, '<span style="background-color:'+item.color+'"> </span>') })
|
can.core.List(can.list, function(item) { msg.Push("weight", item.value.weight = parseInt(item.span*100/360)+"%").Push(cli.COLOR, '<span style="background-color:'+item.color+'"> </span>') })
|
||||||
can.onappend.table(can, msg, null, can.ui.profile), can.page.Select(can, can.ui.profile, html.TR, function(tr, index) { can.ui.table = tr.parentNode
|
can.onaction.list = [], can.ui.display = can.page.Append(can, can._output, [html.DISPLAY])._target
|
||||||
can.page.Modify(can, tr, {onmouseenter: function(event) { can._draw(can.db.which = index-1) }})
|
can.onappend.table(can, msg, null, can.ui.display), can.page.Select(can, can.ui.display, html.TR, function(tr, index) { can.ui.table = tr.parentNode
|
||||||
}), can.base.isFunc(cb) && cb(msg), can.onappend._status(can, msg.append)
|
can.page.Modify(can, tr, {onmouseenter: function(event) { can._draw(can.db.which = index-1) }})
|
||||||
})
|
}), can.base.isFunc(cb) && cb(msg), can.onappend._status(can, msg.append)
|
||||||
},
|
}) },
|
||||||
_data: function(can, msg, field) { var list = []
|
_data: function(can, msg, field) { var list = []
|
||||||
var color = [
|
var color = [
|
||||||
"#8085e9",
|
"#8085e9",
|
||||||
@ -69,15 +69,6 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
return parseInt(value)
|
return parseInt(value)
|
||||||
},
|
},
|
||||||
layout: function(can) { if (!can.ui || !can.ui.svg) { return }
|
layout: function(can) { if (!can.ui || !can.ui.svg) { return }
|
||||||
can.onmotion.hidden(can, can.ui.project), can.onmotion.hidden(can, can.ui.display), can.onmotion.toggle(can, can.ui.profile, true)
|
|
||||||
var _width = can.base.Max(can.ConfWidth()-can.ConfHeight(), 600, 200)
|
|
||||||
can.page.style(can, can.ui.profile, html.HEIGHT, can.ConfHeight(), html.WIDTH, _width, html.FLEX, "0 0 "+(_width)+"px")
|
|
||||||
var width = can.ConfWidth()-_width, height = can.ConfHeight()-4, margin = 40, r = can.base.Max(height, width)/2-1*margin-margin
|
|
||||||
can.page.style(can, can.ui.content, html.HEIGHT, can.ConfHeight(), html.WIDTH, width)
|
|
||||||
can.ui.svg.Val(html.WIDTH, width), can.ui.svg.Val(html.HEIGHT, height)
|
|
||||||
can._draw = function(which) { can.onimport._draw(can, width/2-margin/2, height/2-margin/2, r, margin, which) }, can._draw(can.db.which||0)
|
|
||||||
return
|
|
||||||
|
|
||||||
var height = can.base.Max(can.ConfHeight(), can.ConfWidth()/2), margin = 10, r = height/2-1*margin-margin
|
var height = can.base.Max(can.ConfHeight(), can.ConfWidth()/2), margin = 10, r = height/2-1*margin-margin
|
||||||
can.page.style(can, can.ui.display, html.WIDTH, can.ConfWidth()-height-1), can.ui.svg.Val(html.HEIGHT, height), can.ui.svg.Val(html.WIDTH, height)
|
can.page.style(can, can.ui.display, html.WIDTH, can.ConfWidth()-height-1), can.ui.svg.Val(html.HEIGHT, height), can.ui.svg.Val(html.WIDTH, height)
|
||||||
can._draw = function(which) { can.onimport._draw(can, height/2-margin/2, can.ConfHeight()/2-margin/2, r, margin, which) }, can._draw(can.db.which||0)
|
can._draw = function(which) { can.onimport._draw(can, height/2-margin/2, can.ConfHeight()/2-margin/2, r, margin, which) }, can._draw(can.db.which||0)
|
||||||
|
@ -74,8 +74,8 @@ Volcanos(chat.ONDETAIL, {
|
|||||||
},
|
},
|
||||||
oncontextmenu: function(event, can, tree) {
|
oncontextmenu: function(event, can, tree) {
|
||||||
can.user.carte(event, can, {}, [
|
can.user.carte(event, can, {}, [
|
||||||
wiki.PORTAL, chat.DESKTOP, chat.ADMIN, wiki.WORD, web.DREAM, web.STORE,
|
wiki.PORTAL, chat.DESKTOP, web.DREAM, web.STORE, web.ADMIN,
|
||||||
code.VIMER, code.STATUS, code.COMPILE, cli.RUNTIME, code.XTERM,
|
wiki.WORD, code.VIMER, code.STATUS, code.COMPILE, cli.RUNTIME, code.XTERM,
|
||||||
], function(event, button) {
|
], function(event, button) {
|
||||||
if (button == web.ADMIN) {
|
if (button == web.ADMIN) {
|
||||||
can.onappend.plugin(can, {index: web.CHAT_IFRAME, args: [
|
can.onappend.plugin(can, {index: web.CHAT_IFRAME, args: [
|
||||||
|
@ -1,81 +0,0 @@
|
|||||||
Volcanos(chat.ONIMPORT, {
|
|
||||||
_init: function(can, msg, cb) { can.ui = can.onappend.layout(can)
|
|
||||||
can.page.requireDraw(can, function() { can.db.delay = 50, can.onappend.style(can, "pie"), can.onaction.list = []
|
|
||||||
can.list = can.onimport._data(can, msg, can.Conf(mdb.FIELD)||msg.append[1]||mdb.VALUE)
|
|
||||||
can.core.List(can.list, function(item) { msg.Push("weight", item.value.weight = parseInt(item.span*100/360)+"%").Push(cli.COLOR, '<span style="background-color:'+item.color+'"> </span>') })
|
|
||||||
can.onappend.table(can, msg, null, can.ui.profile), can.page.Select(can, can.ui.profile, html.TR, function(tr, index) { can.ui.table = tr.parentNode
|
|
||||||
can.page.Modify(can, tr, {onmouseenter: function(event) { can._draw(can.db.which = index-1) }})
|
|
||||||
}), can.base.isFunc(cb) && cb(msg), can.onappend._status(can, msg.append)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
_data: function(can, msg, field) { var list = []
|
|
||||||
var color = [
|
|
||||||
"#8085e9",
|
|
||||||
"#95a2ff",
|
|
||||||
"#73abf5",
|
|
||||||
"#3cb9fc",
|
|
||||||
"#0082fc",
|
|
||||||
"#87e885",
|
|
||||||
"#90ed7d",
|
|
||||||
"#22ed7c",
|
|
||||||
"#05f8d6",
|
|
||||||
"#cb9bff",
|
|
||||||
"#bf19ff",
|
|
||||||
"#f47a75",
|
|
||||||
"#fa8080",
|
|
||||||
"#f7a35c",
|
|
||||||
"#ffc076",
|
|
||||||
"#f9e264",
|
|
||||||
"#fae768",
|
|
||||||
"#5f45ff",
|
|
||||||
"#02cdff",
|
|
||||||
"#0090ff",
|
|
||||||
"#854cff",
|
|
||||||
"#09b0d3",
|
|
||||||
"#1d27c9",
|
|
||||||
"#765005",
|
|
||||||
"#314976",
|
|
||||||
"#009db2",
|
|
||||||
"#024b51",
|
|
||||||
"#0780cf",
|
|
||||||
]
|
|
||||||
var total = 0; msg.Table(function(value) { total += can.onimport._parseInt(can, value[field]) })
|
|
||||||
var begin = 0; msg[cli.COLOR] = [], msg["weight"] = [], msg.Table(function(value, index) {
|
|
||||||
list.push({span: can.onimport._parseInt(can, value[field])/total*360, color: color[index%color.length], value: value})
|
|
||||||
}); return list
|
|
||||||
},
|
|
||||||
_draw: function(can, x, y, r, margin, which) { if (which == can._last) { return } can._last = which
|
|
||||||
if (can.list.length == 1) { return can.onimport.draw(can, {shape: svg.CIRCLE, points: [{x: x, y: y}, {x: x, y: y+r}], style: {fill: cli.BLUE}}) }
|
|
||||||
function pos(x, y, r, angle) { angle -= 90; return [x + r * Math.cos(angle * Math.PI / 180), y + r * Math.sin(angle * Math.PI / 180)] }
|
|
||||||
function pie(x, y, r, begin, span, color, title, cb) { can.onimport.draw(can, {shape: svg.PATH, style: kit.Dict(
|
|
||||||
svg.STROKE, color, svg.FILL, color, "d", can.base.joins([
|
|
||||||
["M", x, y], ["L"].concat(pos(x, y, r, begin)), ["A", r, r, "0", span>180? "1": "0", "1"].concat(pos(x, y, r, begin+span)), ["Z"]
|
|
||||||
], lex.SP, mdb.FS),
|
|
||||||
), onmouseenter: function(event) { can.base.isFunc(cb) && cb(event) } }) }
|
|
||||||
can.onmotion.clear(can, can.ui.svg), can.ui.svg.Value(mdb.COUNT, 0)
|
|
||||||
var begin = 0; can.core.Next(can.list, function(item, next, index) { var p = index==which? pos(x, y, 1*margin, begin+item.span/2): [x, y]
|
|
||||||
if (item.value.name == "rest") { return can.onmotion.delay(can, next, can.db.delay) }
|
|
||||||
pie(p[0], p[1], r, begin, item.span, item.color, item.name||item.command, function(event) { can.onimport._draw(can, x, y, r, margin, can.db.which = index) }), begin += item.span
|
|
||||||
index == which && (can.db.current = item.value)
|
|
||||||
can.onmotion.select(can, can.ui.table, html.TR, index), can.Status(item.value), can.onmotion.delay(can, next, can.db.delay)
|
|
||||||
}, function() {
|
|
||||||
can.onmotion.select(can, can.ui.table, html.TR, which), can.Status(can.db.current), can.db.delay = 0
|
|
||||||
})
|
|
||||||
},
|
|
||||||
_parseInt: function(can, value) { value = value.toLowerCase()
|
|
||||||
if (can.base.endWith(value, "m")) { return parseInt(value)*1000000 }
|
|
||||||
if (can.base.endWith(value, "g")) { return parseInt(value)*1000000000 }
|
|
||||||
if (can.base.endWith(value, "gi")) { return parseInt(value)*1000000000 }
|
|
||||||
if (can.base.endWith(value, "mi")) { return parseInt(value)*1000000 }
|
|
||||||
return parseInt(value)
|
|
||||||
},
|
|
||||||
layout: function(can) { if (!can.ui || !can.ui.svg) { return }
|
|
||||||
can.onmotion.hidden(can, can.ui.project), can.onmotion.hidden(can, can.ui.display), can.onmotion.toggle(can, can.ui.profile, true)
|
|
||||||
var _width = can.base.Max(can.ConfWidth()-can.ConfHeight(), 600, 200)
|
|
||||||
can.page.style(can, can.ui.profile, html.HEIGHT, can.ConfHeight(), html.WIDTH, _width, html.FLEX, "0 0 "+(_width)+"px")
|
|
||||||
var width = can.ConfWidth()-_width, height = can.ConfHeight()-4, margin = 40, r = can.base.Max(height, width)/2-1*margin-margin
|
|
||||||
can.page.style(can, can.ui.content, html.HEIGHT, can.ConfHeight(), html.WIDTH, width)
|
|
||||||
can.ui.svg.Val(html.WIDTH, width), can.ui.svg.Val(html.HEIGHT, height)
|
|
||||||
can._draw = function(which) { can.onimport._draw(can, width/2-margin/2, height/2-margin/2, r, margin, which) }, can._draw(can.db.which||-1)
|
|
||||||
},
|
|
||||||
})
|
|
@ -138,13 +138,13 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
return {view: [[html.ITEM, item.type, item.role, item.status]], title: item.title||item.nick, list: [
|
return {view: [[html.ITEM, item.type, item.role, item.status]], title: item.title||item.nick, list: [
|
||||||
can.onimport._icons(can, item),
|
can.onimport._icons(can, item),
|
||||||
].concat(can.onimport._nick(can, item), item._label||[], [
|
].concat(can.onimport._nick(can, item), item._label||[], [
|
||||||
(item.action||cbs) && {icon: "bi bi-three-dots", onclick: function(event) { can.onimport._menu(event, can, item, cbs) }},
|
item.action && {icon: "bi bi-three-dots", onclick: function(event) { can.onimport._menu(event, can, item, cbs) }},
|
||||||
]), _init: function(target) { target._item = item, item._item = target, can.ui[item.path] = target
|
]), _init: function(target) { target._item = item, item._item = target, can.ui[item.path] = target
|
||||||
item._select && can.onmotion.delay(can, function() { target.click() })
|
item._select && can.onmotion.delay(can, function() { target.click() })
|
||||||
}, onclick: function(event) {
|
}, onclick: function(event) {
|
||||||
if (cb(event)) { return }
|
|
||||||
can.db.value = item, can.onexport.hash(can, item._hash)
|
can.db.value = item, can.onexport.hash(can, item._hash)
|
||||||
item.__title? can.user.title(item.__title): can.onexport.title(can, item._title)
|
item.__title? can.user.title(item.__title): can.onexport.title(can, item._title)
|
||||||
|
cb(event)
|
||||||
}, oncontextmenu: function(event) {
|
}, oncontextmenu: function(event) {
|
||||||
can.onimport._menu(event, can, item, cbs)
|
can.onimport._menu(event, can, item, cbs)
|
||||||
}}
|
}}
|
||||||
@ -153,8 +153,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
return can.page.Append(can, _target||can.ui.project||can._output, [can.onimport._item(can, item, function(event) { var target = event.currentTarget
|
return can.page.Append(can, _target||can.ui.project||can._output, [can.onimport._item(can, item, function(event) { var target = event.currentTarget
|
||||||
can.onmotion.select(can, target.parentNode, html.DIV_ITEM, target)
|
can.onmotion.select(can, target.parentNode, html.DIV_ITEM, target)
|
||||||
can.onengine.signal(can, "onproject", can.request(event, {type: "item", query: can.page.getquery(can, can._fields)+","+item.path}))
|
can.onengine.signal(can, "onproject", can.request(event, {type: "item", query: can.page.getquery(can, can._fields)+","+item.path}))
|
||||||
var show = target._list && can.onmotion.toggle(can, target._list); if (show === false) { return true }
|
var show = target._list && can.onmotion.toggle(can, target._list); if (show === false) { return } cb(event, item, show, target)
|
||||||
return cb(event, item, show, target)
|
|
||||||
}, cbs)])._target
|
}, cbs)])._target
|
||||||
},
|
},
|
||||||
_itemselect: function(can, target) {
|
_itemselect: function(can, target) {
|
||||||
@ -166,9 +165,8 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
if (!target._list) { target._list = can.page.insertBefore(can, [html.LIST], target.nextSibling, target.parentNode) }
|
if (!target._list) { target._list = can.page.insertBefore(can, [html.LIST], target.nextSibling, target.parentNode) }
|
||||||
return can.page.Append(can, target._list, can.core.List(list, function(item) {
|
return can.page.Append(can, target._list, can.core.List(list, function(item) {
|
||||||
return can.onimport._item(can, item, function(event) { var target = event.currentTarget
|
return can.onimport._item(can, item, function(event) { var target = event.currentTarget
|
||||||
if (target._list && target._list.childElementCount > 0 && target._list && can.onmotion.toggle(can, target._list) == false) { return true }
|
if (target._list && target._list.childElementCount > 0 && target._list && can.onmotion.toggle(can, target._list) == false) { return }
|
||||||
if (cb && cb(event, item, target._list && true, target)) { return }
|
can.onimport._itemselect(can, target), cb && cb(event, item, target._list && true, target)
|
||||||
can.onimport._itemselect(can, target)
|
|
||||||
}, cbs)
|
}, cbs)
|
||||||
})), target._list
|
})), target._list
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user