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

add email

This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-08-19 22:07:06 +08:00
parent 2498178ae7
commit 2cf9dcee54
8 changed files with 22 additions and 17 deletions

View File

@ -170,10 +170,7 @@ Volcanos("misc", {
}, },
SearchHash: function(can) { var hash = location.hash SearchHash: function(can) { var hash = location.hash
if (arguments.length > 1) { if (arguments.length > 1) {
hash = can.core.List(arguments, function(item) { hash = can.core.List(arguments, function(item) { return can.base.replaceAll(item, ":", "%3A") }).slice(1).join(nfs.DF)
return can.base.replaceAll(item, ":", "%3A")
return encodeURIComponent(item)
}).slice(1).join(nfs.DF)
if (can.isCmdMode() || can._name == "Action") { location.hash = hash } if (can.isCmdMode() || can._name == "Action") { location.hash = hash }
} }
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) })

View File

@ -344,4 +344,10 @@ Volcanos("page", {
cb && cb(themeMedia.matches? html.DARK: html.LIGHT) cb && cb(themeMedia.matches? html.DARK: html.LIGHT)
return themeMedia.matches? html.DARK: html.LIGHT return themeMedia.matches? html.DARK: html.LIGHT
}, },
parseAction: function(can, value) { var action = []
can.page.Select(can, can.page.Create(can, html.DIV, value.action), html.INPUT, function(target) {
action.push(target.name), target.name != target.value && can.user.trans(can, kit.Dict(target.name, target.value))
})
return action
},
}) })

View File

@ -75,6 +75,7 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
onresize: function(can) { can.onaction.layout(can), window.setsize && window.setsize(can.page.width(), can.page.height()) }, onresize: function(can) { can.onaction.layout(can), window.setsize && window.setsize(can.page.width(), can.page.height()) },
ontitle: function(can, msg) { can.onlayout._storage(can, "") }, ontitle: function(can, msg) { can.onlayout._storage(can, "") },
repos: function(can) { can.user.opens(can.user.info.repos) },
portal: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.WIKI_PORTAL})) }, portal: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.WIKI_PORTAL})) },
desktop: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.CHAT_MACOS_DESKTOP})) }, desktop: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.CHAT_MACOS_DESKTOP})) },
layout: function(can, button, skip) { can.page.ClassList.del(can, can._target, can._layout||can.onlayout._storage(can)), can._header_tabs && can.onmotion.hidden(can, can._header_tabs) layout: function(can, button, skip) { can.page.ClassList.del(can, can._target, can._layout||can.onlayout._storage(can)), can._header_tabs && can.onmotion.hidden(can, can._header_tabs)
@ -83,8 +84,8 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
can.isCmdMode() || can.core.List(can._plugins, function(sub) { sub._delay_refresh = false, can.page.ClassList.set(can, sub._target, html.OUTPUT, [TABVIEW, HORIZON, VERTICAL].indexOf(button) > -1) }) can.isCmdMode() || can.core.List(can._plugins, function(sub) { sub._delay_refresh = false, can.page.ClassList.set(can, sub._target, html.OUTPUT, [TABVIEW, HORIZON, VERTICAL].indexOf(button) > -1) })
var cb = can.onlayout[button]; can.base.isFunc(cb) && cb(can) || can.onlayout._plugin(can, button) var cb = can.onlayout[button]; can.base.isFunc(cb) && cb(can) || can.onlayout._plugin(can, button)
}, },
_menus: [[html.LAYOUT, ice.AUTO, TABS, TABVIEW, HORIZON, VERTICAL, GRID, FREE, FLOW, PAGE], "desktop", "portal"], _menus: [[html.LAYOUT, ice.AUTO, TABS, TABVIEW, HORIZON, VERTICAL, GRID, FREE, FLOW, PAGE], "desktop", "portal", "repos"],
_trans: kit.Dict("portal", "官网", "desktop", "桌面", html.LAYOUT, "布局", ice.AUTO, "默认布局", TABS, "标签布局", TABVIEW, "标签分屏", HORIZON, "左右分屏", VERTICAL, "上下分屏", GRID, "网格布局", FREE, "自由布局", FLOW, "流动布局", PAGE, "网页布局"), _trans: kit.Dict("repos", "资源", "portal", "官网", "desktop", "桌面", html.LAYOUT, "布局", ice.AUTO, "默认布局", TABS, "标签布局", TABVIEW, "标签分屏", HORIZON, "左右分屏", VERTICAL, "上下分屏", GRID, "网格布局", FREE, "自由布局", FLOW, "流动布局", PAGE, "网页布局"),
}) })
Volcanos(chat.ONLAYOUT, { Volcanos(chat.ONLAYOUT, {
tabs: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height-can.Conf(html.MARGIN_Y)+html.ACTION_MARGIN), can.ConfWidth(width-can.Conf(html.MARGIN_X)) }) tabs: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height-can.Conf(html.MARGIN_Y)+html.ACTION_MARGIN), can.ConfWidth(width-can.Conf(html.MARGIN_X)) })

View File

@ -58,6 +58,7 @@ Volcanos(chat.ONACTION, {_init: function(can) {
function show(msg) { var p = can.misc.Search(can, "redirect_uri") function show(msg) { var p = can.misc.Search(can, "redirect_uri")
if (location.pathname == "/login" && p) { return location.replace(can.base.MergeURL(p, ice.MSG_SESSID, can.misc.CookieSessid(can))) } if (location.pathname == "/login" && p) { return location.replace(can.base.MergeURL(p, ice.MSG_SESSID, can.misc.CookieSessid(can))) }
can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.userrole = msg.Option(ice.MSG_USERROLE), can.user.info.avatar = msg.Option(aaa.AVATAR), can.user.info.background = msg.Option(aaa.BACKGROUND) can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.userrole = msg.Option(ice.MSG_USERROLE), can.user.info.avatar = msg.Option(aaa.AVATAR), can.user.info.background = msg.Option(aaa.BACKGROUND)
can.user.info.repos = msg.Option("spide.hub")
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) })
lang(msg, function() { can.onmotion.clear(can), can.onimport._init(can, can.request(), can._output), can.onengine.signal(can, chat.ONLOGIN) }) lang(msg, function() { can.onmotion.clear(can), can.onimport._init(can, can.request(), can._output), can.onengine.signal(can, chat.ONLOGIN) })
} }

View File

@ -1,5 +1,4 @@
Volcanos(chat.ONIMPORT, {_init: function(can, msg) { Volcanos(chat.ONIMPORT, {_init: function(can, msg) { can.current = msg.TableDetail(), can.sup.onimport.size(can.sup, can.sup.ConfHeight(), can.sup.ConfWidth(), true)
can.current = msg.TableDetail()
can.target = can.page.Appends(can, can._output, [{type: html.IFRAME, src: can.current.link, height: can.ConfHeight(), width: can.ConfWidth(), style: {border: 0}}])._target can.target = can.page.Appends(can, can._output, [{type: html.IFRAME, src: can.current.link, height: can.ConfHeight(), width: can.ConfWidth(), style: {border: 0}}])._target
can.onimport.layout(can) can.onimport.layout(can)
}, },

View File

@ -52,10 +52,8 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
can.page.style(can, sub._output, html.MAX_HEIGHT, ""), can.runAction(event, ice.RUN, [task[mdb.ZONE], task[mdb.ID]].concat(cmds), cb) can.page.style(can, sub._output, html.MAX_HEIGHT, ""), can.runAction(event, ice.RUN, [task[mdb.ZONE], task[mdb.ID]].concat(cmds), cb)
} }
can._plugin_display = sub can._plugin_display = sub
sub.onexport.output = function() { can.onmotion.delay(can, function() { sub.onaction.close = function() { can.onmotion.toggle(can, can.ui.display), can.onimport.layout(can) }
sub.onimport.size(sub, can._display_heights[[task.zone, task.id].join(mdb.FS)] = can.base.Max(sub._target.offsetHeight, can.ConfHeight()/2), can.ConfWidth()-can.ui.project.offsetWidth) sub.onexport.output = function() { can.onmotion.delay(can, function() { sub.onimport.display_size(can, sub), can.onimport.layout(can) }) }
can.onimport.layout(can)
}) }, sub.onaction.close = function() { can.onmotion.toggle(can, can.ui.display), can.onimport.layout(can) }
}, can.ui.display) }, can.ui.display)
}, },
day: function(can, msg) { var head = [team.HOUR, team.TASK] day: function(can, msg) { var head = [team.HOUR, team.TASK]
@ -109,7 +107,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
layout: function(can) { layout: function(can) {
can.ui.layout(can.ConfHeight(), can.ConfWidth()) can.ui.layout(can.ConfHeight(), can.ConfWidth())
can.user.isMobile && can.page.style(can, can.ui.content, html.HEIGHT, "") can.user.isMobile && can.page.style(can, can.ui.content, html.HEIGHT, "")
var sub = can._plugin_display; sub && sub.onimport.size(sub, can.ConfHeight()/2, can.ConfWidth()-can.ui.project.offsetWidth, true) var sub = can._plugin_display; sub && sub.onimport.display_size(can, sub)
can.ui.toggle && can.ui.toggle.layout() can.ui.toggle && can.ui.toggle.layout()
return return
can.page.styleHeight(can, can._output, can.ConfHeight()), can.page.styleHeight(can, can.ui.project, can.ConfHeight()) can.page.styleHeight(can, can._output, can.ConfHeight()), can.page.styleHeight(can, can.ui.project, can.ConfHeight())

View File

@ -49,6 +49,11 @@ Volcanos(chat.ONIMPORT, {
var sub = can.sub; if (!sub) { return auto } sub.Mode(mode), sub.ConfHeight(height), sub.ConfWidth(width) var sub = can.sub; if (!sub) { return auto } sub.Mode(mode), sub.ConfHeight(height), sub.ConfWidth(width)
mode? sub.onlayout[mode](sub, height, width): sub.onlayout._init(sub, height, width); return auto mode? sub.onlayout[mode](sub, height, width): sub.onlayout._init(sub, height, width); return auto
}, },
display_size: function(can, sub) { var border = 1
can.page.style(can, sub._output, html.MAX_HEIGHT, "")
var _height = can.base.Max(sub._target.offsetHeight+border, can.ConfHeight()/2)
sub.onimport.size(sub, _height-border, can.ConfWidth()-(can.ui && can.ui.project? can.ui.project.offsetWidth: 0), true)
},
}) })
Volcanos(chat.ONACTION, {list: [ Volcanos(chat.ONACTION, {list: [
"刷新数据", "刷新界面", "刷新数据", "刷新界面",

View File

@ -3,6 +3,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
var cbs = can.onimport[can.Conf(ctx.STYLE)||msg.Option(ctx.STYLE)]; if (can.base.isFunc(cbs)) { var cbs = can.onimport[can.Conf(ctx.STYLE)||msg.Option(ctx.STYLE)]; if (can.base.isFunc(cbs)) {
can.onappend.style(can, can._args[ctx.STYLE], target), can.core.CallFunc(cbs, {can: can, msg: msg, target: target}) can.onappend.style(can, can._args[ctx.STYLE], target), can.core.CallFunc(cbs, {can: can, msg: msg, target: target})
} else { } else {
can.sup.onimport.size(can.sup, can.sup.ConfHeight(), can.sup.ConfWidth(), true)
can.onappend.table(can, msg, null, target), can.onappend.board(can, msg, target), can.onmotion.story.auto(can, target) can.onappend.table(can, msg, null, target), can.onappend.board(can, msg, target), can.onmotion.story.auto(can, target)
} }
}, },
@ -11,10 +12,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
{view: html.ACTION, inner: value.action, onclick: function(event) { can.run(can.request(event, value), [ctx.ACTION, event.target.name]) }}, {view: html.ACTION, inner: value.action, onclick: function(event) { can.run(can.request(event, value), [ctx.ACTION, event.target.name]) }},
]} ]}
})), can.onlayout.expand(can, can._output, 320) }, })), can.onlayout.expand(can, can._output, 320) },
_vimer_zone: function(can, msg, target) { msg.Table(function(value) { var action = [] _vimer_zone: function(can, msg, target) { msg.Table(function(value) { var action = can.page.parseAction(can, value)
can.page.Select(can, can.page.Create(can, html.DIV, value.action), html.INPUT, function(target) {
action.push(target.name), target.name != target.value && can.user.trans(can, kit.Dict(target.name, target.value))
})
can.onimport.item(can, {name: can.page.Color(value[can.Conf(mdb.FIELD)||mdb.VIEW]||value[mdb.NAME]||value[mdb.TEXT]||value[mdb.TYPE]), title: value[mdb.TEXT]}, function(event) { can.onimport.item(can, {name: can.page.Color(value[can.Conf(mdb.FIELD)||mdb.VIEW]||value[mdb.NAME]||value[mdb.TEXT]||value[mdb.TYPE]), title: value[mdb.TEXT]}, function(event) {
can.sup.onexport.record(can, value.name, mdb.NAME, value, event) can.sup.onexport.record(can, value.name, mdb.NAME, value, event)
}, function() { return shy(action, function(event, button, meta, carte) { can.misc.Event(event, can, function(msg) { carte.close() }, function() { return shy(action, function(event, button, meta, carte) { can.misc.Event(event, can, function(msg) { carte.close()