1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00

opt portal

This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-07-28 23:22:04 +08:00
parent c9c365e8b0
commit 68edc8fa54
6 changed files with 47 additions and 10 deletions

View File

@ -1249,6 +1249,35 @@ Volcanos(chat.ONMOTION, {
can.page.style(can, target, html.HEIGHT, begin += height/list.length) can.page.style(can, target, html.HEIGHT, begin += height/list.length)
}, function() { can.page.style(can, target, html.HEIGHT, "") }) }, function() { can.page.style(can, target, html.HEIGHT, "") })
}, },
slideAction: function(can, target) {
var action = can.page.Select(can, target.parentNode, html.DIV_ACTION)[0]
var beginY, beginX, beginLeft, max = can.base.Max(action.offsetWidth, 120, 60)
target.addEventListener("touchstart", function(event) { max = can.base.Max(action.offsetWidth, 120, 60)
beginY = event.touches[0].clientY, beginX = event.touches[0].clientX, beginLeft = parseFloat(target.style.left)||0
})
target.addEventListener("touchmove", function(event) {
if (Math.abs(event.touches[0].clientY - beginY) > Math.abs(event.touches[0].clientX - beginX)) { return }
var left = event.touches[0].clientX - beginX + beginLeft
target._left = left
if (left < 0 && left > -max) { can.page.style(can, event.currentTarget, {left: left}) }
can.onmotion.select(can, target.parentNode.parentNode, html.DIV_ITEM, target.parentNode)
can.onkeymap.prevent(event)
})
target.addEventListener("touchend", function(event) {
var left = target._left
if (left < -max/2) {
can.page.style(can, event.currentTarget, {left: -max})
} else {
can.page.style(can, event.currentTarget, {left: 0})
}
can.page.Select(can, target.parentNode.parentNode, html.DIV_ITEM+">div.output", function(_target) {
if (_target != target) {
can.page.style(can, _target, {left: 0})
_target._left = 0
}
})
})
},
}) })
Volcanos(chat.ONKEYMAP, { Volcanos(chat.ONKEYMAP, {
_init: function(can, target) { target = target||document.body, can.onkeymap._build(can) _init: function(can, target) { target = target||document.body, can.onkeymap._build(can)

View File

@ -329,7 +329,9 @@ Volcanos("misc", {
return can.core.List(can.core.Split(can.base.trimPrefix(location.hash, "#"), nfs.DF)||[], function(item) { return decodeURIComponent(item) }) return can.core.List(can.core.Split(can.base.trimPrefix(location.hash, "#"), nfs.DF)||[], function(item) { return decodeURIComponent(item) })
}, },
SearchOrConf: function(can, key, def) { return can.misc.Search(can, key)||Volcanos.meta.args[key]||can.misc.sessionStorage(can, "can."+key)||can.misc.localStorage(can, "can."+key)||can.Conf(key)||def }, SearchOrConf: function(can, key, def) { return can.misc.Search(can, key)||Volcanos.meta.args[key]||can.misc.sessionStorage(can, "can."+key)||can.misc.localStorage(can, "can."+key)||can.Conf(key)||def },
CookieSessid: function(can, value, path) { return can.misc.Cookie(can, ice.MSG_SESSID+"_"+(location.port||(location.protocol == "https:"? "443": "80")), value, path) }, CookieSessid: function(can, value, path) {
return can.misc.Cookie(can, ice.MSG_SESSID+"_"+(location.port||(location.protocol == "https:"? "443": "80")), value, path)||can.misc.Cookie(can, ice.MSG_SESSID, value, path)
},
Cookie: function(can, key, value, path) { Cookie: function(can, key, value, path) {
function set(k, v) { var expires = new Date(); expires.setTime(expires.getTime() + 30*24*3600000) function set(k, v) { var expires = new Date(); expires.setTime(expires.getTime() + 30*24*3600000)
document.cookie = k+mdb.EQ+v+";path="+(path||nfs.PS)+";expires="+expires.toGMTString() document.cookie = k+mdb.EQ+v+";path="+(path||nfs.PS)+";expires="+expires.toGMTString()

View File

@ -92,7 +92,13 @@ Volcanos("user", {
}, },
toastProcess: function(can, content, title, progress) { return can.user.toast(can, {content: "🕑 "+(content||ice.PROCESS), title: title, duration: -1, progress: progress}) }, toastProcess: function(can, content, title, progress) { return can.user.toast(can, {content: "🕑 "+(content||ice.PROCESS), title: title, duration: -1, progress: progress}) },
toastFailure: function(can, content, title) { return can.user.toast(can, {content: "❌ "+(content||ice.FAILURE), title: title, duration: -1}) }, toastFailure: function(can, content, title) { return can.user.toast(can, {content: "❌ "+(content||ice.FAILURE), title: title, duration: -1}) },
toastSuccess: function(can, content, title, duration) { return can.user.toast(can, {content: "✅ "+(content||ice.SUCCESS), title: title, duration: duration||1000}) }, toastSuccess: function(can, content, title, duration) {
if (!can.user.isEnglish(can)) {
content && (content += " success"); var list = can.core.Split(content, " ", " ")
content = can.core.List(list, function(text) { return can.user.trans(can, text) }).join("")
}
return can.user.toast(can, {content: "✅ "+content, title: title, duration: duration||1000})
},
toast: function(can, content, title, duration, progress, hash) { can = can._fields? can.sup: can toast: function(can, content, title, duration, progress, hash) { can = can._fields? can.sup: can
if (title == can.ConfIndex()) { title = can.user.trans(can, title, can.Conf("help")) } if (title == can.ConfIndex()) { title = can.user.trans(can, title, can.Conf("help")) }
var meta = can.base.isObject(content)? content: {content: content, title: title, duration: duration, progress: progress, hash: hash} var meta = can.base.isObject(content)? content: {content: content, title: title, duration: duration, progress: progress, hash: hash}
@ -297,7 +303,8 @@ Volcanos("user", {
}), resize: html.IMG, }), resize: html.IMG,
}) }, }) },
login: function(can, _cb, _msg) { login: function(can, _cb, _msg) {
can.misc.CookieSessid(can, ""), can.page.ClassList.add(can, document.body.parentNode, aaa.LOGIN), can.onimport.theme(can) can.misc.CookieSessid(can, ""), can.misc.Cookie(can, "sessid", "")
can.page.ClassList.add(can, document.body.parentNode, aaa.LOGIN), can.onimport.theme(can)
function check() { function check() {
if (can.misc.CookieSessid(can) || can.user.info.sessid) { can.page.ClassList.del(can, document.body.parentNode, aaa.LOGIN), can.onimport.theme(can) if (can.misc.CookieSessid(can) || can.user.info.sessid) { can.page.ClassList.del(can, document.body.parentNode, aaa.LOGIN), can.onimport.theme(can)
can.onmotion.clearFloat(can), can.onmotion.delay(can, function() { socket._close = true, socket.close() }) can.onmotion.clearFloat(can), can.onmotion.delay(can, function() { socket._close = true, socket.close() })

View File

@ -107,7 +107,7 @@ Volcanos(chat.ONACTION, {_init: function(can) {},
can.require(can.core.List(msg["theme.list"], function(item) { return nfs.SRC_TEMPLATE+web.CHAT_HEADER+"/theme/"+item }), function() { can.require(can.core.List(msg["theme.list"], function(item) { return nfs.SRC_TEMPLATE+web.CHAT_HEADER+"/theme/"+item }), function() {
if (can.base.beginWith(location.pathname, nfs.WIKI_PORTAL, web.CHAT_CMD+web.WIKI_PORTAL, web.CHAT_CMD+web.CHAT_OAUTH_CLIENT)) { return show(msg) } if (can.base.beginWith(location.pathname, nfs.WIKI_PORTAL, web.CHAT_CMD+web.WIKI_PORTAL, web.CHAT_CMD+web.CHAT_OAUTH_CLIENT)) { return show(msg) }
if (location.pathname == nfs.PS && can.base.beginWith(msg.Option(ice.MAIN)||"", nfs.WIKI_PORTAL, web.CHAT_CMD+web.WIKI_PORTAL)) { return show(msg) } if (location.pathname == nfs.PS && can.base.beginWith(msg.Option(ice.MAIN)||"", nfs.WIKI_PORTAL, web.CHAT_CMD+web.WIKI_PORTAL)) { return show(msg) }
msg.Option(mdb.PLUGIN) && can.onappend.plugin(can, {index: msg.Option(mdb.PLUGIN)}, function(sub) { can.onmotion.hidden(can, sub._target) }, document.body) msg.Option(mdb.PLUGIN) && can.onappend.plugin(can, {space: msg.plugin[1], index: msg.Option(mdb.PLUGIN)}, function(sub) { can.onmotion.hidden(can, sub._target) }, document.body)
msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) }) msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) })
var tool = can._root.Action._conf.tool var tool = can._root.Action._conf.tool
if (can.Conf(aaa.USERNICK, (msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME)).slice(0, 8)) if (can.Conf(aaa.USERNICK, (msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME)).slice(0, 8))

View File

@ -62,6 +62,8 @@ Volcanos(chat.ONFIGURE, {key: {
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) 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, target) { if (target._hold) { return } onblur: function(event, can, sub, cb, target) { if (target._hold) { return }
return
debugger
can.onengine.signal(can, "onevent", can.request(event, {query: can.page.getquery(can, target)+","+target.value})) can.onengine.signal(can, "onevent", can.request(event, {query: can.page.getquery(can, target)+","+target.value}))
sub && can.onmotion.delay(can, sub.close, 300) sub && can.onmotion.delay(can, sub.close, 300)
}, },

View File

@ -15,12 +15,9 @@ Volcanos(chat.ONIMPORT, {
_display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) }, _display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) },
_clear: function(can, msg) { can.onmotion.clear(can) }, _clear: function(can, msg) { can.onmotion.clear(can) },
_inner: function(can, sub, msg) { sub = sub||can, can.onmotion.scrollIntoView(can, can.onappend.table(sub, msg)), can.onmotion.scrollIntoView(can, can.onappend.board(sub, msg)), can.onmotion.story.auto(sub) }, _inner: function(can, sub, msg) { sub = sub||can, can.onmotion.scrollIntoView(can, can.onappend.table(sub, msg)), can.onmotion.scrollIntoView(can, can.onappend.board(sub, msg)), can.onmotion.story.auto(sub) },
_cookie: function(can, msg) { _cookie: function(can, msg) { can.misc.Cookie(can, msg._arg[0], msg._arg[1])
// can.user.toast(can, stringify.JSON(msg._arg)) if (msg._arg[2]) { history.go(msg._arg[2])
can.misc.Cookie(can, msg._arg[0], msg._arg[1]) can.onmotion.delay(can, function() { history.back() }, 300)
debugger
if (msg._arg[2]) {
history.go(msg._arg[2])
} else { } else {
can.Update() can.Update()
} }