mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
opt header.js
This commit is contained in:
parent
3afd7fcdc6
commit
0a54310d91
6
frame.js
6
frame.js
@ -16,7 +16,7 @@ Volcanos(chat.ONENGINE, {help: "搜索引擎", list: [], _init: function(can, me
|
|||||||
}, can[item.name] = panel, panel._root = can, panel._trans = panel.onaction && panel.onaction._trans||{}
|
}, can[item.name] = panel, panel._root = can, panel._trans = panel.onaction && panel.onaction._trans||{}
|
||||||
|
|
||||||
can.core.Item(panel.onplugin, function(key, cmd) {
|
can.core.Item(panel.onplugin, function(key, cmd) {
|
||||||
panel.onplugin.hasOwnProperty(key) && can.base.isFunc(cmd) && can.onengine.plugin(can, key, cmd)
|
panel.onplugin.hasOwnProperty(key) && can.base.isFunc(cmd) && can.onengine.plugin(panel, key, cmd)
|
||||||
})
|
})
|
||||||
can.core.ItemCB(panel.onaction, function(key, cb) {
|
can.core.ItemCB(panel.onaction, function(key, cb) {
|
||||||
can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) })
|
can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) })
|
||||||
@ -84,7 +84,7 @@ Volcanos(chat.ONENGINE, {help: "搜索引擎", list: [], _init: function(can, me
|
|||||||
}
|
}
|
||||||
var p = can.onengine.plugin.meta[cmds[0]], n = 1; if (p) {
|
var p = can.onengine.plugin.meta[cmds[0]], n = 1; if (p) {
|
||||||
if (p.meta && p.meta[cmds[1]] && cmds[0] == ctx.ACTION) { n = 3 } else if (p.meta && p.meta[cmds[0]]) { n = 2 }
|
if (p.meta && p.meta[cmds[1]] && cmds[0] == ctx.ACTION) { n = 3 } else if (p.meta && p.meta[cmds[0]]) { n = 2 }
|
||||||
return can.core.CallFunc(p, {can: panel, msg: msg, cmds: cmds.slice(n), cb: cb}), true
|
return can.core.CallFunc(p, {can: p.can||panel, msg: msg, cmds: cmds.slice(n), cb: cb}), true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
},
|
},
|
||||||
@ -95,7 +95,7 @@ Volcanos(chat.ONENGINE, {help: "搜索引擎", list: [], _init: function(can, me
|
|||||||
case lang.STRING: return can.core.SplitInput(item)
|
case lang.STRING: return can.core.SplitInput(item)
|
||||||
case lang.OBJECT: return type = item.type||type, item
|
case lang.OBJECT: return type = item.type||type, item
|
||||||
}
|
}
|
||||||
}), arguments.callee.meta[can.core.Keys(ice.CAN, name)] = command
|
}), command.can = can, arguments.callee.meta[can.core.Keys(ice.CAN, name)] = command
|
||||||
}),
|
}),
|
||||||
listen: shy("监听事件", function(can, name, cb) {
|
listen: shy("监听事件", function(can, name, cb) {
|
||||||
arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb)
|
arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb)
|
||||||
|
@ -61,6 +61,7 @@ Volcanos("user", {help: "用户操作", info: {}, agent: {
|
|||||||
return text && (document.title = Volcanos.meta.args.name||text), document.title
|
return text && (document.title = Volcanos.meta.args.name||text), document.title
|
||||||
},
|
},
|
||||||
topic: function(can, name) {
|
topic: function(can, name) {
|
||||||
|
can.base.isArray(name) && (name = can.base.join(name))
|
||||||
can.user.mod.isCmd && (name += " simple")
|
can.user.mod.isCmd && (name += " simple")
|
||||||
can.Conf("display") && (name += " "+can.Conf("display"))
|
can.Conf("display") && (name += " "+can.Conf("display"))
|
||||||
can.user.isMobile && (name += " mobile") && can.user.isLandscape() && (name += " landscape")
|
can.user.isMobile && (name += " mobile") && can.user.isLandscape() && (name += " landscape")
|
||||||
@ -360,13 +361,13 @@ Volcanos("user", {help: "用户操作", info: {}, agent: {
|
|||||||
|
|
||||||
return action
|
return action
|
||||||
},
|
},
|
||||||
download: function(can, path, name) {
|
download: function(can, path, name, ext) {
|
||||||
var a = can.page.Append(can, document.body, [{type: html.A, href: path, download: name||path.split(ice.PS).pop()}]).first
|
var a = can.page.Append(can, document.body, [{type: html.A, href: path, download: can.core.Keys(name, ext)||path.split(ice.PS).pop()}]).first
|
||||||
a.click(), can.page.Remove(can, a)
|
a.click(), can.page.Remove(can, a)
|
||||||
return path
|
return path
|
||||||
},
|
},
|
||||||
downloads: function(can, text, name) { if (!text) { return }
|
downloads: function(can, text, name, ext) { if (!text) { return }
|
||||||
return can.user.download(can, URL.createObjectURL(new Blob([text])), name)
|
return can.user.download(can, URL.createObjectURL(new Blob([text])), name, ext)
|
||||||
},
|
},
|
||||||
camera: function(can, msg, cb) {
|
camera: function(can, msg, cb) {
|
||||||
navigator.getUserMedia({video: true}, cb, function(error) {
|
navigator.getUserMedia({video: true}, cb, function(error) {
|
||||||
|
@ -294,7 +294,7 @@ Volcanos(chat.ONEXPORT, {help: "导出数据", list: [],
|
|||||||
if (item.innerHTML.indexOf(word[1]) == -1) { return }
|
if (item.innerHTML.indexOf(word[1]) == -1) { return }
|
||||||
|
|
||||||
var list = can.page.Select(can, item.nextSibling, html.OPTION_ARGS, function(item) { return item.value||"" })
|
var list = can.page.Select(can, item.nextSibling, html.OPTION_ARGS, function(item) { return item.value||"" })
|
||||||
var meta = item.parentNode._meta
|
var meta = item.parentNode._meta; if (!meta) { return }
|
||||||
|
|
||||||
var data = {ctx: "web.chat", cmd: ctx.ACTION,
|
var data = {ctx: "web.chat", cmd: ctx.ACTION,
|
||||||
type: mdb.PLUGIN, name: item.innerHTML, text: shy("跳转", function(event) {
|
type: mdb.PLUGIN, name: item.innerHTML, text: shy("跳转", function(event) {
|
||||||
|
@ -4,12 +4,6 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
|
|||||||
can.user.info.avatar = msg.Option(aaa.AVATAR)
|
can.user.info.avatar = msg.Option(aaa.AVATAR)
|
||||||
can.ondaemon._init(can)
|
can.ondaemon._init(can)
|
||||||
|
|
||||||
can.onengine.plugin(can, "topic", shy("主题", {
|
|
||||||
"demo": function(can, msg, cmds) { can.onlayout.topic(can, cmds[0]) },
|
|
||||||
}, ["topic:select=white,black", "run:button", "demo:button"], function(msg, cmds) {
|
|
||||||
can.onlayout.topic(can, cmds[0])
|
|
||||||
}))
|
|
||||||
|
|
||||||
can.onlayout.topic(can, can.Conf("topic"))
|
can.onlayout.topic(can, can.Conf("topic"))
|
||||||
if (can.user.mod.isCmd) {
|
if (can.user.mod.isCmd) {
|
||||||
can.onmotion.hidden(can, can._fields)
|
can.onmotion.hidden(can, can._fields)
|
||||||
@ -30,10 +24,8 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
|
|||||||
}
|
}
|
||||||
can.base.isFunc(cb) && cb(msg)
|
can.base.isFunc(cb) && cb(msg)
|
||||||
},
|
},
|
||||||
_agent: function(can, msg, target) {
|
_agent: function(can, msg, target) { if (!msg.Option(nfs.SCRIPT)) { return }
|
||||||
can.run({}, [chat.AGENT], function(msg) { if (!msg.Option(nfs.SCRIPT)) { return }
|
can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) })
|
||||||
can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) })
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
_grant: function(can, msg, target) {
|
_grant: function(can, msg, target) {
|
||||||
if (can.misc.Search(can, chat.GRANT)) {
|
if (can.misc.Search(can, chat.GRANT)) {
|
||||||
@ -142,47 +134,50 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
|
|||||||
}) }]).first
|
}) }]).first
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
Volcanos(chat.ONPLUGIN, {help: "注册插件", list: [],
|
||||||
|
"topic": shy("主题", {
|
||||||
|
"demo": function(can, msg, cmds) { can.onlayout.topic(can, cmds[0]) },
|
||||||
|
}, ["topic:select=white,black", "run:button", "demo:button"], function(can, msg, cmds) {
|
||||||
|
can.onlayout.topic(can, cmds[0])
|
||||||
|
}),
|
||||||
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb, target) {
|
Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb, target) {
|
||||||
can.base.isFunc(cb) && cb()
|
can.base.isFunc(cb) && cb()
|
||||||
},
|
},
|
||||||
_menus: [["setting", chat.BLACK, chat.WHITE, chat.PRINT, "webpack", "toimage", ctx.CONFIG]],
|
_menus: [["setting", chat.BLACK, chat.WHITE, chat.PRINT, code.WEBPACK, "toimage", ctx.CONFIG]],
|
||||||
_trans: {
|
_trans: {
|
||||||
"search": "搜索",
|
"search": "搜索",
|
||||||
"create": "创建",
|
|
||||||
"share": "共享",
|
|
||||||
|
|
||||||
"setting": "设置",
|
"setting": "设置",
|
||||||
"black": "黑色主题",
|
"black": "黑色主题",
|
||||||
"white": "白色主题",
|
"white": "白色主题",
|
||||||
"print": "打印主题",
|
"print": "打印主题",
|
||||||
|
"webpack": "打包页面",
|
||||||
"toimage": "生成图片",
|
"toimage": "生成图片",
|
||||||
"config": "拉取配置",
|
"config": "拉取配置",
|
||||||
|
|
||||||
"shareuser": "共享用户",
|
"shareuser": "共享用户",
|
||||||
"setnick": "设置昵称",
|
"setnick": "设置昵称",
|
||||||
"password": "修改密码",
|
"password": "修改密码",
|
||||||
"language": "语言地区",
|
"language": "语言地区", "chinese": "中文",
|
||||||
"chinese": "中文",
|
|
||||||
"clear": "清除背景",
|
"clear": "清除背景",
|
||||||
|
"logout": "退出登录",
|
||||||
},
|
},
|
||||||
onmain: function(can, msg) {
|
onmain: function(can, msg) {
|
||||||
function init() { can.run({}, [], function(msg) {
|
can.run({}, [], function(msg) {
|
||||||
|
if (!can.Conf(aaa.USERNICK, msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME))) {
|
||||||
|
msg.Option(chat.SSO)? can.user.jumps(msg.Option(chat.SSO)): can.user.login(can, function() {
|
||||||
|
can.onengine.signal(can, chat.ONMAIN, msg)
|
||||||
|
}, msg.Option(aaa.LOGIN), msg.Option("login.dev"))
|
||||||
|
return // 登录认证
|
||||||
|
}
|
||||||
can.base.Copy(can.onaction._trans, can.base.Obj(msg.Option(chat.TRANS), {}))
|
can.base.Copy(can.onaction._trans, can.base.Obj(msg.Option(chat.TRANS), {}))
|
||||||
can.onimport._init(can, msg, function(msg) { can.onengine.signal(can, chat.ONLOGIN, msg) }, can._output)
|
can.onimport._init(can, msg, function(msg) { can.onengine.signal(can, chat.ONLOGIN, msg) }, can._output)
|
||||||
}) }
|
|
||||||
|
|
||||||
// 登录检查
|
|
||||||
can.user.isLocalFile? init(): can.run({}, [chat.CHECK], function(msg) {
|
|
||||||
can.Conf(aaa.USERNICK, msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME))? init():
|
|
||||||
msg.Option(chat.SSO)? can.user.jumps(msg.Option(chat.SSO)):
|
|
||||||
can.user.login(can, init, msg.Option(aaa.LOGIN), msg.Option("login.dev"))
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
onsearchfocus: function(can) { can.page.Select(can, can._output, ["div.search", html.INPUT], function(target) { target.focus() }) },
|
||||||
|
onwebpack: function(can, msg) { can.onaction[code.WEBPACK](msg._event, can) },
|
||||||
onstorm_select: function(can, msg, river, storm) { can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm) },
|
onstorm_select: function(can, msg, river, storm) { can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm) },
|
||||||
onsearchfocus: function(can) {
|
|
||||||
can.page.Select(can, can._output, "div.search input", function(target) { target.focus() })
|
|
||||||
},
|
|
||||||
onwebpack: function(can, msg) { can.onaction["webpack"](msg._event, can) },
|
|
||||||
onaction_cmd: function(can, msg) { can.onmotion.hidden(can) },
|
onaction_cmd: function(can, msg) { can.onmotion.hidden(can) },
|
||||||
|
|
||||||
title: function(event, can) {
|
title: function(event, can) {
|
||||||
@ -194,13 +189,8 @@ Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb
|
|||||||
|
|
||||||
black: function(event, can, button) { can.onlayout.topic(can, button), can.onlayout._init(can) },
|
black: function(event, can, button) { can.onlayout.topic(can, button), can.onlayout._init(can) },
|
||||||
white: function(event, can, button) { can.onlayout.topic(can, button), can.onlayout._init(can) },
|
white: function(event, can, button) { can.onlayout.topic(can, button), can.onlayout._init(can) },
|
||||||
print: function(event, can, button) { can.onlayout.topic(can, can.base.join([chat.WHITE, button]))
|
print: function(event, can, button) { can.onlayout.topic(can, [chat.WHITE, button])
|
||||||
can.set("River", html.HEIGHT, -1), can.set("Action", html.HEIGHT, -1)
|
can.setRiver(html.HEIGHT, -1), can.setAction(html.HEIGHT, -1)
|
||||||
},
|
|
||||||
config: function(event, can) {
|
|
||||||
can.user.input(event, can, [{name: "scope", value: "etc/local.shy"}], function(ev, button, meta, list, args) {
|
|
||||||
can.run(event, [ctx.ACTION, ctx.CONFIG].concat(args), function(msg) { can.user.jumps(msg.Result()) })
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
webpack: function(event, can) {
|
webpack: function(event, can) {
|
||||||
can.user.input(event, can, [{name: mdb.NAME, value: can.user.title()}], function(ev, button, meta, list) {
|
can.user.input(event, can, [{name: mdb.NAME, value: can.user.title()}], function(ev, button, meta, list) {
|
||||||
@ -214,14 +204,21 @@ Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb
|
|||||||
args: "name,topic,layout,river,storm",
|
args: "name,topic,layout,river,storm",
|
||||||
})
|
})
|
||||||
|
|
||||||
var toast = can.user.toast(can, "打包中...", code.WEBPACK, 1000000)
|
var toast = can.user.toastProcess(can, "打包中...", code.WEBPACK)
|
||||||
can.run(event, [code.WEBPACK], function(msg) {
|
can.runAction(event, code.WEBPACK, [], function(msg) {
|
||||||
toast.close(), can.user.toast(can, "打包成功", code.WEBPACK)
|
toast.close(), can.user.toastSuccess(can, "打包成功", code.WEBPACK)
|
||||||
can.user.download(can, "/share/local/"+msg.Result(), name+".html")
|
can.user.download(can, "/share/local/"+msg.Result(), name, "html")
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
toimage: function(event, can, button) { can.onmotion.toimage(event, can, document.title, can._root._target) },
|
toimage: function(event, can, button) {
|
||||||
|
can.onmotion.toimage(event, can, can.user.title(), can._root._target)
|
||||||
|
},
|
||||||
|
config: function(event, can) {
|
||||||
|
can.user.input(event, can, [{name: "scope", value: "etc/local.shy"}], function(ev, button, meta, list, args) {
|
||||||
|
can.runAction(event, ctx.CONFIG, args, function(msg) { can.user.jumps(msg.Result()) })
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
carte: function(event, can, list, cb, trans) { can.user.carte(event, can, can.onaction, list, cb) },
|
carte: function(event, can, list, cb, trans) { can.user.carte(event, can, can.onaction, list, cb) },
|
||||||
share: function(event, can, args) {
|
share: function(event, can, args) {
|
||||||
|
@ -134,7 +134,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [
|
|||||||
"复制数据": function(event, can) { can.user.copy(event, can, can.onexport.table(can)||can.onexport.board(can)) },
|
"复制数据": function(event, can) { can.user.copy(event, can, can.onexport.table(can)||can.onexport.board(can)) },
|
||||||
"下载数据": function(event, can) { var meta = can.Conf()
|
"下载数据": function(event, can) { var meta = can.Conf()
|
||||||
can.user.input(event, can, [{name: "filename", value: meta.name}], function(ev, button, data, list) {
|
can.user.input(event, can, [{name: "filename", value: meta.name}], function(ev, button, data, list) {
|
||||||
can.user.downloads(can, can.onexport.table(can), list[0]+".csv")||can.user.downloads(can, can.onexport.board(can), meta.name+".txt")
|
can.user.downloads(can, can.onexport.table(can), list[0], "csv")||can.user.downloads(can, can.onexport.board(can), meta.name, "txt")
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"清空数据": function(event, can) { can.onmotion.clear(can, can._output) },
|
"清空数据": function(event, can) { can.onmotion.clear(can, can._output) },
|
||||||
|
1
proto.js
1
proto.js
@ -361,6 +361,7 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", pack:
|
|||||||
setHeader: function(key, value) { return can.set("Header", key, value) },
|
setHeader: function(key, value) { return can.set("Header", key, value) },
|
||||||
getHeader: function(key, cb) { return can.get("Header", key, cb) },
|
getHeader: function(key, cb) { return can.get("Header", key, cb) },
|
||||||
setRiver: function(key, value) { return can.set("River", key, value) },
|
setRiver: function(key, value) { return can.set("River", key, value) },
|
||||||
|
setAction: function(key, value) { return can.set("Action", key, value) },
|
||||||
getAction: function(key, cb) { return can.get("Action", key, cb) },
|
getAction: function(key, cb) { return can.get("Action", key, cb) },
|
||||||
getActionSize: function(cb) { return can.get("Action", "size", cb) },
|
getActionSize: function(cb) { return can.get("Action", "size", cb) },
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user