forked from x/volcanos
opt chat
This commit is contained in:
parent
4bed31aa35
commit
b6453d36d5
107
panel/river.js
107
panel/river.js
@ -1,5 +1,5 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
||||||
if (msg.Option("sess.river") == "_share") { return can.onmotion.hidden(can) }
|
if (msg.Option(ice.MSG_RIVER) == "_share") { return can.onmotion.hidden(can) }
|
||||||
can.onmotion.clear(can), can.river_list = {}, can.storm_list = {}
|
can.onmotion.clear(can), can.river_list = {}, can.storm_list = {}
|
||||||
|
|
||||||
can.onimport._main(can, msg), can.onimport._menu(can, msg)
|
can.onimport._main(can, msg), can.onimport._menu(can, msg)
|
||||||
@ -17,21 +17,21 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
if (can.user.isMobile) { can._main_river = "product", can._main_storm = "office" }
|
if (can.user.isMobile) { can._main_river = "product", can._main_storm = "office" }
|
||||||
if (can.user.isWeiXin) { can._main_river = "service", can._main_storm = "wx" }
|
if (can.user.isWeiXin) { can._main_river = "service", can._main_storm = "wx" }
|
||||||
|
|
||||||
can._main_river = can.user.Search(can, can._RIVER) || msg.Option("sess.river") || Volcanos.meta.args.river || can._main_river
|
can._main_title = can.user.Search(can, chat.TITLE) || msg.Option(ice.MSG_TITLE) || Volcanos.meta.args.title || can.user.Search(can, cli.POD) || can._main_title
|
||||||
can._main_storm = can.user.Search(can, can._STORM) || msg.Option("sess.storm") || Volcanos.meta.args.storm || can._main_storm
|
can._main_river = can.user.Search(can, chat.RIVER) || msg.Option(ice.MSG_RIVER) || Volcanos.meta.args.river || can._main_river
|
||||||
can._main_title = can.user.Search(can, can._TITLE) || msg.Option("sess.title") || Volcanos.meta.args.title || can.user.Search(can, "pod") || can._main_title
|
can._main_storm = can.user.Search(can, chat.STORM) || msg.Option(ice.MSG_STORM) || Volcanos.meta.args.storm || can._main_storm
|
||||||
},
|
},
|
||||||
_menu: function(can, msg) {
|
_menu: function(can, msg) {
|
||||||
can.search({}, ["Header.onimport.menu", can._RIVER,
|
can.search({}, ["Header.onimport.menu", chat.RIVER,
|
||||||
["添加", "创建群组", "添加应用", "添加工具", "添加用户", "添加设备", "创建空间"],
|
["添加", "创建群组", "添加应用", "添加工具", "添加用户", "添加设备", "创建空间"],
|
||||||
!can.user.isMobile && ["访问", "内部系统", "访问应用", "访问工具", "访问用户", "访问设备", "工作任务"],
|
!can.user.isMobile && ["访问", "内部系统", "访问应用", "访问工具", "访问用户", "访问设备", "工作任务"],
|
||||||
["共享", "共享群组", "共享应用", "共享工具", "共享主机"],
|
["共享", "共享群组", "共享应用", "共享工具", "共享主机"],
|
||||||
], function(event, item) {
|
], function(event, item) {
|
||||||
can.core.CallFunc([can.ondetail, item], [event, can, item, can.Conf(can._RIVER), can.Conf(can._STORM)])
|
can.core.CallFunc([can.ondetail, item], [event, can, item, can.Conf(chat.RIVER), can.Conf(chat.STORM)])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
_river: function(can, meta, cb) {
|
_river: function(can, meta, cb) {
|
||||||
return {text: [meta.name, "div", "item"], onclick: function(event) {
|
return {text: [meta.name, html.DIV, html.ITEM], onclick: function(event) {
|
||||||
can.onaction.storm(event, can, meta.hash)
|
can.onaction.storm(event, can, meta.hash)
|
||||||
|
|
||||||
}, onmouseenter: function(event) {
|
}, onmouseenter: function(event) {
|
||||||
@ -43,7 +43,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
}}
|
}}
|
||||||
},
|
},
|
||||||
_storm: function(can, meta, river) {
|
_storm: function(can, meta, river) {
|
||||||
return {text: [meta.name, "div", "item"], onclick: function(event) {
|
return {text: [meta.name, html.DIV, html.ITEM], onclick: function(event) {
|
||||||
can.onaction.action(event, can, river, meta.hash)
|
can.onaction.action(event, can, river, meta.hash)
|
||||||
can.user.title(can._main_title || meta.name)
|
can.user.title(can._main_title || meta.name)
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
Volcanos("onengine", {help: "解析引擎", list: [], _engine: function(event, can, msg, panel, cmds, cb) {
|
Volcanos("onengine", {help: "解析引擎", list: [], _engine: function(event, can, msg, panel, cmds, cb) {
|
||||||
cmds.length == 0 && can.core.Item(can.onengine.river, function(key, value) {
|
cmds.length == 0 && can.core.Item(can.onengine.river, function(key, value) {
|
||||||
msg.Push({hash: key, name: value.name}) // 群组列表
|
msg.Push({hash: key, name: value.name}) // 群组列表
|
||||||
}); if (cmds.length != 1 && cmds[1] != "tool") { return false }
|
}); if (cmds.length != 1 && cmds[1] != chat.TOOL) { return false }
|
||||||
|
|
||||||
var river = can.onengine.river[cmds[0]]; if (!river) { return false }
|
var river = can.onengine.river[cmds[0]]; if (!river) { return false }
|
||||||
can.core.Item(river.storm, function(key, value) {
|
can.core.Item(river.storm, function(key, value) {
|
||||||
@ -70,14 +70,13 @@ Volcanos("onengine", {help: "解析引擎", list: [], _engine: function(event, c
|
|||||||
Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg, list, cb, target) {
|
Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg, list, cb, target) {
|
||||||
can.base.isFunc(cb) && cb()
|
can.base.isFunc(cb) && cb()
|
||||||
},
|
},
|
||||||
_const: ["title", "river", "storm", "action"],
|
|
||||||
_trans: {create: "创建", refresh: "刷新"},
|
_trans: {create: "创建", refresh: "刷新"},
|
||||||
onlogin: function(can, msg) {
|
onlogin: function(can, msg) {
|
||||||
can.onappend._action(can, can.Conf("action")||can.onaction.list)
|
can.onappend._action(can, can.Conf("action")||can.onaction.list)
|
||||||
can.run({}, [], function(msg) { can.onimport._init(can, msg, [], null, can._output) })
|
can.run({}, [], function(msg) { can.onimport._init(can, msg, [], null, can._output) })
|
||||||
},
|
},
|
||||||
onsearch: function(can, msg, word) {
|
onsearch: function(can, msg, word) {
|
||||||
if (word[0] == "*" || word[0] == can._STORM) { can.onexport.storm(can, msg, word) }
|
if (word[0] == "*" || word[0] == chat.STORM) { can.onexport.storm(can, msg, word) }
|
||||||
},
|
},
|
||||||
onaction_touch: function(can, msg) {
|
onaction_touch: function(can, msg) {
|
||||||
can.onmotion.float.del(can, "carte")
|
can.onmotion.float.del(can, "carte")
|
||||||
@ -98,7 +97,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg,
|
|||||||
can.onmotion.select(can, can._output, "div.item", can.river_list[river])
|
can.onmotion.select(can, can._output, "div.item", can.river_list[river])
|
||||||
var list = can.sublist[river]; if (list) { return can.onmotion.Toggle(can, list) }
|
var list = can.sublist[river]; if (list) { return can.onmotion.Toggle(can, list) }
|
||||||
|
|
||||||
can.run({}, [river, "tool"], function(msg) {
|
can.run({}, [river, chat.TOOL], function(msg) {
|
||||||
var select = 0; list = can.page.Append(can, can._output, [{view: "list", list: msg.Table(function(item, index) {
|
var select = 0; list = can.page.Append(can, can._output, [{view: "list", list: msg.Table(function(item, index) {
|
||||||
river == can._main_river && item.hash == can._main_storm && (select = index)
|
river == can._main_river && item.hash == can._main_storm && (select = index)
|
||||||
return can.onimport._storm(can, item, river)
|
return can.onimport._storm(can, item, river)
|
||||||
@ -114,24 +113,24 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg,
|
|||||||
can.onmotion.select(can, can._output, "div.list div.item", can.storm_list[can.core.Keys(river, storm)])
|
can.onmotion.select(can, can._output, "div.list div.item", can.storm_list[can.core.Keys(river, storm)])
|
||||||
|
|
||||||
can.onengine.signal(can, "onstorm_select", can.request(event, {
|
can.onengine.signal(can, "onstorm_select", can.request(event, {
|
||||||
river: can.Conf(can._RIVER, river), storm: can.Conf(can._STORM, storm),
|
river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm),
|
||||||
}))
|
}))
|
||||||
},
|
},
|
||||||
|
|
||||||
create: function(event, can) {
|
create: function(event, can) {
|
||||||
can.user.trans(can, {"public": "公开群", "protected": "内部群", "private": "私有群"})
|
can.user.trans(can, {"public": "公开群", "protected": "内部群", "private": "私有群"})
|
||||||
can.user.input(event, can, [
|
can.user.input(event, can, [
|
||||||
{name: "type", values: ["public", "protected", "private"], _trans: "类型"},
|
{name: "type", values: [chat.PUBLIC, chat.PROTECTED, chat.PRIVATE], _trans: "类型"},
|
||||||
{name: "name", value: "hi", _trans: "群名"}, {type: "textarea", name: "text", value: "hello", _trans: "简介"},
|
{name: "name", value: "hi", _trans: "群名"}, {type: html.TEXTAREA, name: "text", value: "hello", _trans: "简介"},
|
||||||
], function(event, button, meta, list, args) {
|
], function(event, button, meta, list, args) {
|
||||||
can.run(event, [can._ACTION, "create"].concat(args), function(msg) {
|
can.run(event, [ctx.ACTION, mdb.CREATE].concat(args), function(msg) {
|
||||||
can.user.Search(can, {river: msg.Result()})
|
can.user.Search(can, {river: msg.Result()})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
refresh: function(event, can) {
|
refresh: function(event, can) {
|
||||||
can.user.Search(can, {
|
can.user.Search(can, {
|
||||||
river: can.Conf(can._RIVER), storm: can.Conf(can._STORM),
|
river: can.Conf(chat.RIVER), storm: can.Conf(chat.STORM),
|
||||||
topic: can.search(event, ["Header.onexport.topic"]),
|
topic: can.search(event, ["Header.onexport.topic"]),
|
||||||
layout: can.search(event, ["Action.onexport.layout"]),
|
layout: can.search(event, ["Action.onexport.layout"]),
|
||||||
})
|
})
|
||||||
@ -144,19 +143,19 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
|||||||
can.user.input(event, can, [
|
can.user.input(event, can, [
|
||||||
{name: "name", value: river, _trans: "标题"},
|
{name: "name", value: river, _trans: "标题"},
|
||||||
], function(event, button, meta, list) {
|
], function(event, button, meta, list) {
|
||||||
can.user.share(can, can.request(event), [river, can._ACTION, "share", "type", can._RIVER, "name", meta.name])
|
can.user.share(can, can.request(event), [river, ctx.ACTION, chat.SHARE, kit.MDB_TYPE, chat.RIVER, kit.MDB_NAME, meta.name])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"添加用户": function(event, can, button, river) {
|
"添加用户": function(event, can, button, river) {
|
||||||
can.user.select(event, can, "user", "usernick,username", function(item, next) {
|
can.user.select(event, can, chat.USER, "usernick,username", function(item, next) {
|
||||||
can.run({}, [river, "user", can._ACTION, "insert", "username", item[0]], function(msg) {
|
can.run({}, [river, chat.USER, ctx.ACTION, mdb.INSERT, aaa.USERNAME, item[0]], function(msg) {
|
||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"添加设备": function(event, can, button, river) {
|
"添加设备": function(event, can, button, river) {
|
||||||
can.user.select(event, can, "space", "type,name,text", function(item, next) {
|
can.user.select(event, can, web.SPACE, "type,name,text", function(item, next) {
|
||||||
can.run({}, [river, "node", can._ACTION, "insert", "type", item[0], "name", item[1]], function(msg) {
|
can.run({}, [river, chat.NODE, ctx.ACTION, mdb.INSERT, kit.MDB_TYPE, item[0], kit.MDB_NAME, item[1]], function(msg) {
|
||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -164,24 +163,25 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
|||||||
"添加应用": function(event, can, button, river) {
|
"添加应用": function(event, can, button, river) {
|
||||||
can.user.trans(can, {"public": "公开应用", "protected": "群组应用", "private": "个人应用"})
|
can.user.trans(can, {"public": "公开应用", "protected": "群组应用", "private": "个人应用"})
|
||||||
can.user.input(event, can, [
|
can.user.input(event, can, [
|
||||||
{name: "type", values: ["public", "protected", "private"], _trans: "类型"},
|
{name: "type", values: [chat.PUBLIC, chat.PROTECTED, chat.PRIVATE], _trans: "类型"},
|
||||||
{name: "name", value: "hi", _trans: "名称"}, {type: "textarea", name: "text", value: "hello", _trans: "简介"},
|
{name: "name", value: "hi", _trans: "名称"}, {type: html.TEXTAREA, name: "text", value: "hello", _trans: "简介"},
|
||||||
], function(event, button, meta, list, args) {
|
], function(event, button, meta, list, args) {
|
||||||
can.run({}, [river, "tool", can._ACTION, "create"].concat(args), function(msg) {
|
can.run({}, [river, chat.TOOL, ctx.ACTION, mdb.CREATE].concat(args), function(msg) {
|
||||||
can.user.Search(can, {river: river, storm: msg.Result()})
|
can.user.Search(can, {river: river, storm: msg.Result()})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"重命名群组": function(event, can, button, river) {
|
"重命名群组": function(event, can, button, river) {
|
||||||
can.user.input(event, can, ["name"], function(event, button, meta, list) {
|
can.user.input(event, can, [kit.MDB_NAME], function(event, button, meta, list) {
|
||||||
var msg = can.request(event, {hash: river})
|
var msg = can.request(event, {hash: river})
|
||||||
can.run(event, [can._ACTION, "modify", "name", meta.name], function(msg) {
|
can.run(event, [ctx.ACTION, mdb.MODIFY, kit.MDB_NAME, meta.name], function(msg) {
|
||||||
can.user.Search(can, {river: river})
|
can.user.Search(can, {river: river})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"删除群组": function(event, can, button, river) {
|
"删除群组": function(event, can, button, river) {
|
||||||
can.run(event, ["remove", "hash", river], function(msg) {
|
var msg = can.request(event, {hash: river})
|
||||||
|
can.run(event, [mdb.REMOVE], function(msg) {
|
||||||
can.user.Search(can, {})
|
can.user.Search(can, {})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -191,14 +191,15 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
|||||||
{name: "name", value: storm, _trans: "标题"},
|
{name: "name", value: storm, _trans: "标题"},
|
||||||
], function(event, button, meta, list) {
|
], function(event, button, meta, list) {
|
||||||
var msg = can.request(event)
|
var msg = can.request(event)
|
||||||
can.user.share(can, msg, [river, can._ACTION, "share", "type", can._STORM, "name", meta.name,
|
can.user.share(can, msg, [river, ctx.ACTION, chat.SHARE,
|
||||||
can._STORM, storm, can._RIVER, river,
|
kit.MDB_TYPE, chat.STORM, kit.MDB_NAME, meta.name,
|
||||||
|
chat.STORM, storm, chat.RIVER, river,
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"添加工具": function(event, can, button, river, storm) {
|
"添加工具": function(event, can, button, river, storm) {
|
||||||
can.user.select(event, can, "command", "context,command", function(item, next) {
|
can.user.select(event, can, ctx.COMMAND, "context,command", function(item, next) {
|
||||||
can.run({}, [river, "tool", can._ACTION, "insert", "hash", storm].concat(["pod", "", "ctx", item[0], "cmd", item[1]]), function(msg) {
|
can.run({}, [river, chat.TOOL, ctx.ACTION, mdb.INSERT, kit.MDB_HASH, storm].concat([cli.POD, "", cli.CTX, item[0], cli.CMD, item[1]]), function(msg) {
|
||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
}, function() {
|
}, function() {
|
||||||
@ -208,7 +209,7 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
|||||||
"保存参数": function(event, can, button, river, storm) {
|
"保存参数": function(event, can, button, river, storm) {
|
||||||
can.search(event, ["Action.onexport.args"], function(item, next, index, array) {
|
can.search(event, ["Action.onexport.args"], function(item, next, index, array) {
|
||||||
var msg = can.request({}, {hash: storm, id: item.dataset.id})
|
var msg = can.request({}, {hash: storm, id: item.dataset.id})
|
||||||
can.run(msg._event, [river, "tool", can._ACTION, "modify", "arg", item.dataset.args], function(msg) {
|
can.run(msg._event, [river, chat.TOOL, ctx.ACTION, mdb.MODIFY, cli.ARG, item.dataset.args], function(msg) {
|
||||||
can.user.toast(can, (index+1)+"/"+array.length, "保存参数", 10000, (index+1)/array.length)
|
can.user.toast(can, (index+1)+"/"+array.length, "保存参数", 10000, (index+1)/array.length)
|
||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
@ -216,15 +217,15 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
|||||||
},
|
},
|
||||||
"重命名应用": function(event, can, button, river, storm) {
|
"重命名应用": function(event, can, button, river, storm) {
|
||||||
var msg = can.request(event, {hash: storm})
|
var msg = can.request(event, {hash: storm})
|
||||||
can.user.input(event, can, ["name"], function(ev, button, meta, list, args) {
|
can.user.input(event, can, [kit.MDB_NAME], function(ev, button, meta, list, args) {
|
||||||
can.run(event, [river, "tool", can._ACTION, "modify"].concat(args), function(msg) {
|
can.run(event, [river, chat.TOOL, ctx.ACTION, mdb.MODIFY].concat(args), function(msg) {
|
||||||
can.user.Search(can, {river: river, storm: storm})
|
can.user.Search(can, {river: river, storm: storm})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"删除应用": function(event, can, button, river, storm) {
|
"删除应用": function(event, can, button, river, storm) {
|
||||||
var msg = can.request(event, {hash: storm})
|
var msg = can.request(event, {hash: storm})
|
||||||
can.run(event, [river, "tool", can._ACTION, "remove"], function(msg) {
|
can.run(event, [river, chat.TOOL, ctx.ACTION, mdb.REMOVE], function(msg) {
|
||||||
can.user.Search(can, {river: river})
|
can.user.Search(can, {river: river})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -234,52 +235,52 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
|||||||
},
|
},
|
||||||
"访问应用": function(event, can, button, river, storm) {
|
"访问应用": function(event, can, button, river, storm) {
|
||||||
var msg = can.request(event, {sort: ","})
|
var msg = can.request(event, {sort: ","})
|
||||||
can.user.select(event, can, can._STORM, "type,name,text")
|
can.user.select(event, can, chat.STORM, "type,name,text")
|
||||||
},
|
},
|
||||||
"访问工具": function(event, can, button, river, storm) {
|
"访问工具": function(event, can, button, river, storm) {
|
||||||
var msg = can.request(event, {sort: ","})
|
var msg = can.request(event, {sort: ","})
|
||||||
can.user.select(event, can, "plugin", "type,name,text")
|
can.user.select(event, can, mdb.PLUGIN, "type,name,text")
|
||||||
},
|
},
|
||||||
"访问用户": function(event, can, button, river, storm) {
|
"访问用户": function(event, can, button, river, storm) {
|
||||||
can.user.select(event, can, "user", "time,type,name,text")
|
can.user.select(event, can, chat.USER, "time,type,name,text")
|
||||||
},
|
},
|
||||||
"访问设备": function(event, can, button, river, storm) {
|
"访问设备": function(event, can, button, river, storm) {
|
||||||
can.user.select(event, can, "space", "time,type,name,text")
|
can.user.select(event, can, web.SPACE, "time,type,name,text")
|
||||||
},
|
},
|
||||||
"工作任务": function(event, can, button, river, storm) {
|
"工作任务": function(event, can, button, river, storm) {
|
||||||
var msg = can.request(event, {index: "web.team.task"})
|
var msg = can.request(event, {index: "web.team.task"})
|
||||||
can.user.select(event, can, "task", "time,zone,id,type,name,text")
|
can.user.select(event, can, team.TASK, "time,zone,id,type,name,text")
|
||||||
},
|
},
|
||||||
|
|
||||||
"共享主机": function(event, can, button, river, storm) {
|
"共享主机": function(event, can, button, river, storm) {
|
||||||
can.run(event, [can._ACTION, "invite"], function(msg) {
|
can.run(event, [ctx.ACTION, aaa.INVITE], function(msg) {
|
||||||
can.user.toast(can, {
|
can.user.toast(can, {
|
||||||
title: "共享主机", duration: -1, width: -100,
|
title: "共享主机", duration: -1, width: -100,
|
||||||
content: msg.Result(), action: ["close"],
|
content: msg.Result(), action: [cli.CLOSE],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"共享工具": function(event, can, button, river, storm) {
|
"共享工具": function(event, can, button, river, storm) {
|
||||||
can.user.select(event, can, "plugin", "name,context,command,argument", function(item, next) {
|
can.user.select(event, can, mdb.PLUGIN, "name,context,command,argument", function(item, next) {
|
||||||
can.user.share(can, can.request(event), [river, can._ACTION, "share", "type", "field",
|
can.user.share(can, can.request(event), [river, ctx.ACTION, chat.SHARE, kit.MDB_TYPE, chat.FIELD,
|
||||||
can._RIVER, item[1], can._STORM, item[2],
|
chat.RIVER, item[1], chat.STORM, item[2],
|
||||||
"name", item[0], "text", item[3],
|
kit.MDB_NAME, item[0], kit.MDB_TEXT, item[3],
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
"创建空间": function(event, can, button, river, storm) {
|
"创建空间": function(event, can, button, river, storm) {
|
||||||
can.user.input(event, {__proto__: can, run: function(event, cmds, cb, silent) {
|
can.user.input(event, {__proto__: can, run: function(event, cmds, cb, silent) {
|
||||||
var msg = can.request(event, {action: "start"})
|
var msg = can.request(event, {action: cli.START})
|
||||||
can.run(event, cmds, cb, silent)
|
can.run(event, cmds, cb, silent)
|
||||||
}}, [
|
}}, [
|
||||||
{name: "name", value: "@key"},
|
{name: "name", value: "@key"},
|
||||||
{name: "repos", value: "@key"},
|
{name: "repos", value: "@key"},
|
||||||
{name: "template", value: "@key"},
|
{name: "template", value: "@key"},
|
||||||
], function(event, button, data, list, args) {
|
], function(event, button, data, list, args) {
|
||||||
can.run(event, [can._ACTION, "start"].concat(args), function(msg) {
|
can.run(event, [ctx.ACTION, cli.START].concat(args), function(msg) {
|
||||||
can.user.open(can.user.MergeURL(can, {pod: can.core.Keys(can.user.Search(can, "pod"), msg.Option("name"))}))
|
can.user.open(can.user.MergeURL(can, {pod: can.core.Keys(can.user.Search(can, cli.POD), msg.Option(kit.MDB_NAME))}))
|
||||||
can.user.toast(can, can.user.MergeURL(can, {pod: msg.Option("name")}))
|
can.user.toast(can, can.user.MergeURL(can, {pod: msg.Option(kit.MDB_NAME)}))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -287,12 +288,12 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
|||||||
Volcanos("onexport", {help: "导出数据", list: [],
|
Volcanos("onexport", {help: "导出数据", list: [],
|
||||||
width: function(can) { return can._target.offsetWidth },
|
width: function(can) { return can._target.offsetWidth },
|
||||||
storm: function(can, msg, word) {
|
storm: function(can, msg, word) {
|
||||||
var fields = (msg.Option("fields")||"ctx,cmd,type,name,text").split(",")
|
var fields = (msg.Option(ice.MSG_FIELDS)||"ctx,cmd,type,name,text").split(",")
|
||||||
can.core.Item(can.onengine.river, function(river, value) {
|
can.core.Item(can.onengine.river, function(river, value) {
|
||||||
can.core.Item(value.storm, function(storm, item) {
|
can.core.Item(value.storm, function(storm, item) {
|
||||||
if (word[1] != "" && word[1] != storm && word[1] != item.name) { return }
|
if (word[1] != "" && word[1] != storm && word[1] != item.name) { return }
|
||||||
|
|
||||||
var data = {ctx: "web.chat", cmd: can._STORM,
|
var data = {ctx: "web.chat", cmd: chat.STORM,
|
||||||
type: river, name: storm, text: shy("跳转", function(event) {
|
type: river, name: storm, text: shy("跳转", function(event) {
|
||||||
can.onaction.action(event, can, river, storm)
|
can.onaction.action(event, can, river, storm)
|
||||||
}),
|
}),
|
||||||
|
42
proto.js
42
proto.js
@ -4,10 +4,17 @@ const kit = {
|
|||||||
MDB_NAME: "name",
|
MDB_NAME: "name",
|
||||||
MDB_TEXT: "text",
|
MDB_TEXT: "text",
|
||||||
MDB_LINK: "link",
|
MDB_LINK: "link",
|
||||||
|
|
||||||
|
MDB_HASH: "hash",
|
||||||
|
MDB_LIST: "list",
|
||||||
}
|
}
|
||||||
const ice = {
|
const ice = {
|
||||||
MSG_USERNAME: "user.name",
|
MSG_USERNAME: "user.name",
|
||||||
MSG_USERNICK: "user.nick",
|
MSG_USERNICK: "user.nick",
|
||||||
|
MSG_TITLE: "sess.title",
|
||||||
|
MSG_RIVER: "sess.river",
|
||||||
|
MSG_STORM: "sess.storm",
|
||||||
|
MSG_FIELDS: "fields",
|
||||||
}
|
}
|
||||||
|
|
||||||
const ctx = {
|
const ctx = {
|
||||||
@ -18,6 +25,15 @@ const ctx = {
|
|||||||
}
|
}
|
||||||
const cli = {
|
const cli = {
|
||||||
RUN: "run",
|
RUN: "run",
|
||||||
|
POD: "pod",
|
||||||
|
CTX: "ctx",
|
||||||
|
CMD: "cmd",
|
||||||
|
ARG: "arg",
|
||||||
|
|
||||||
|
OPEN: "open",
|
||||||
|
CLOSE: "close",
|
||||||
|
START: "start",
|
||||||
|
STOP: "stop",
|
||||||
}
|
}
|
||||||
const web = {
|
const web = {
|
||||||
SPACE: "space",
|
SPACE: "space",
|
||||||
@ -30,9 +46,17 @@ const aaa = {
|
|||||||
|
|
||||||
LOGIN: "login",
|
LOGIN: "login",
|
||||||
LOGOUT: "logout",
|
LOGOUT: "logout",
|
||||||
|
INVITE: "invite",
|
||||||
}
|
}
|
||||||
const mdb = {
|
const mdb = {
|
||||||
|
CREATE: "create",
|
||||||
|
INSERT: "insert",
|
||||||
MODIFY: "modify",
|
MODIFY: "modify",
|
||||||
|
REMOVE: "remove",
|
||||||
|
PLUGIN: "plugin",
|
||||||
|
|
||||||
|
HASH: "hash",
|
||||||
|
LIST: "list",
|
||||||
}
|
}
|
||||||
const nfs = {
|
const nfs = {
|
||||||
DIR: "dir",
|
DIR: "dir",
|
||||||
@ -58,12 +82,22 @@ const wiki = {
|
|||||||
SHELL: "shell",
|
SHELL: "shell",
|
||||||
}
|
}
|
||||||
const chat = {
|
const chat = {
|
||||||
|
TITLE: "title",
|
||||||
RIVER: "river",
|
RIVER: "river",
|
||||||
STORM: "storm",
|
STORM: "storm",
|
||||||
|
FIELD: "field",
|
||||||
|
|
||||||
AGENT: "agent",
|
AGENT: "agent",
|
||||||
SHARE: "share",
|
SHARE: "share",
|
||||||
GRANT: "grant",
|
GRANT: "grant",
|
||||||
|
|
||||||
|
PUBLIC: "public",
|
||||||
|
PROTECTED: "protected",
|
||||||
|
PRIVATE: "private",
|
||||||
|
|
||||||
|
USER: "user",
|
||||||
|
TOOL: "tool",
|
||||||
|
NODE: "node",
|
||||||
}
|
}
|
||||||
const team = {
|
const team = {
|
||||||
TASK: "task",
|
TASK: "task",
|
||||||
@ -74,6 +108,14 @@ const mall = {
|
|||||||
SALARY: "salary",
|
SALARY: "salary",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const html = {
|
||||||
|
DIV: "div",
|
||||||
|
IMG: "img",
|
||||||
|
TEXTAREA: "textarea",
|
||||||
|
|
||||||
|
ITEM: "item",
|
||||||
|
LIST: "list",
|
||||||
|
}
|
||||||
function shy(help, meta, list, cb) {
|
function shy(help, meta, list, cb) {
|
||||||
var index = 0, args = arguments; function next(check) {
|
var index = 0, args = arguments; function next(check) {
|
||||||
if (index < args.length && (!check || check == typeof args[index])) {
|
if (index < args.length && (!check || check == typeof args[index])) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user