mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
opt portal
This commit is contained in:
parent
c9c365e8b0
commit
68edc8fa54
29
frame.js
29
frame.js
@ -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)
|
||||||
|
@ -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()
|
||||||
|
11
lib/user.js
11
lib/user.js
@ -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() })
|
||||||
|
@ -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))
|
||||||
|
@ -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)
|
||||||
},
|
},
|
||||||
|
@ -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()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user