forked from x/volcanos
opt some
This commit is contained in:
parent
5302625093
commit
fb41d101a0
77
frame.js
77
frame.js
@ -2,9 +2,8 @@ _can_name = "/frame.js"
|
||||
Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, list, cb, target) {
|
||||
can.run = function(event, cmds, cb) { var msg = can.request(event); cmds = cmds||[]
|
||||
return (can.onengine[cmds[0]]||can.onengine._remote)(event, can, msg, can, cmds, cb)
|
||||
}, can.river = can.Conf(chat.RIVER)||{}
|
||||
|
||||
if (can.user.isExtension) { Volcanos.meta.args = JSON.parse(localStorage.getItem("args"))||{} }
|
||||
}
|
||||
if (can.user.isExtension) { Volcanos.meta.args = JSON.parse(localStorage.getItem(ctx.ARGS))||{} }
|
||||
|
||||
can.core.Next(list, function(item, next) { item.type = chat.PANEL
|
||||
can.onappend._init(can, item, item.list, function(panel) {
|
||||
@ -15,42 +14,19 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
|
||||
can.core.ItemCB(panel.onaction, function(key, cb) {
|
||||
can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) })
|
||||
}), panel.onaction._init(panel, item, item.list, next, panel._target)
|
||||
|
||||
can.onmotion.float.auto(can, panel._output)
|
||||
// panel.onkeypop._build(panel)
|
||||
}, target)
|
||||
}, function() { can.misc.Log(can.user.title(), ice.RUN, can)
|
||||
can.require(["/frame.js"], null, function(can, name, sub) { can[name] = sub })
|
||||
can.ondaemon._init(can), can.onmotion._init(can, target), can.onkeypop._init(can)
|
||||
can.onlayout.topic(can), can.onengine.signal(can, chat.ONMAIN, can.request())
|
||||
can.require([can.volcano], null, function(can, name, sub) { can[name] = sub })
|
||||
can.onlayout.topic(can), can.onmotion._init(can, target), can.onkeypop._init(can)
|
||||
can.ondaemon._init(can), can.onengine.signal(can, chat.ONMAIN, can.request())
|
||||
can.base.isFunc(cb) && cb()
|
||||
|
||||
can.onengine.listen(can, "onsearch", function(msg, word) {
|
||||
if (word[0] == "*" || word[0] == ctx.COMMAND) { var meta = can.onengine.plugin.meta
|
||||
var list = word[1] == ""? meta: meta[word[1]]? kit.Dict(word[1], meta[word[1]]): {}
|
||||
can.core.Item(list, function(name, command) {
|
||||
name = can.base.trimPrefix(name, "can.")
|
||||
can.core.List(msg.Option(ice.MSG_FIELDS).split(ice.FS), function(item) {
|
||||
msg.Push(item, kit.Dict(
|
||||
"ctx", "onengine",
|
||||
"cmd", "command",
|
||||
"type", "can",
|
||||
"name", name,
|
||||
"text", command.help,
|
||||
"context", "can",
|
||||
"command", name,
|
||||
)[item]||"")
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
_search: function(event, can, msg, panel, cmds, cb) {
|
||||
var sub, mod = can, fun = can, key = ""; can.core.List(cmds[1].split(ice.PT), function(value) {
|
||||
fun && (sub = mod, mod = fun, fun = mod[value], key = value)
|
||||
}); if (!sub || !mod || !fun) { can.misc.Warn("not found", cmds)
|
||||
return can.base.isFunc(cb) && cb(msg.Echo("warn: ", "not found: ", cmds))
|
||||
}); if (!sub || !mod || !fun) { can.misc.Warn(ice.ErrNotFound, cmds)
|
||||
return can.base.isFunc(cb) && cb(msg.Echo(ice.ErrWarn, ice.ErrNotFound, cmds))
|
||||
}
|
||||
|
||||
return can.core.CallFunc(fun, {
|
||||
@ -64,7 +40,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
|
||||
if (panel.onengine._engine(event, can, msg, panel, cmds, cb)) { return }
|
||||
can.onengine.signal(can, "onremote", can.request({}, {_follow: panel._follow, _msg: msg, _cmds: cmds}))
|
||||
|
||||
var key = can.core.Keys(panel._name, cmds.join(","))
|
||||
var key = can.core.Keys(panel._name, cmds.join(ice.FS))
|
||||
if (can.user.isLocalFile) { var msg = can.request(event); msg.Clear(ice.MSG_APPEND)
|
||||
var res = Volcanos.meta.pack[key]; res? msg.Copy(res): can.user.toast(can, "缺失数据")
|
||||
return can.base.isFunc(cb) && cb(msg)
|
||||
@ -73,7 +49,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
|
||||
var names = msg.Option("_names")||panel._names||((can.Conf("iceberg")||"/chat/")+panel._name)
|
||||
can.misc.Run(event, can, {names: names, daemon: can.core.Keys(can.ondaemon._list[0], msg._daemon)}, cmds, function(msg) {
|
||||
Volcanos.meta.pack[key] = msg, delete(msg._handle), delete(msg._toast)
|
||||
if (msg.result && msg.result[0] == "warn: ") { can.user.toast(can, msg.Result(), "", 10000); return }
|
||||
if (msg.result && msg.result[0] == ice.ErrWarn) { can.user.toast(can, msg.Result(), "", 10000); return }
|
||||
can.base.isFunc(cb) && cb(msg)
|
||||
})
|
||||
},
|
||||
@ -105,13 +81,26 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
|
||||
}),
|
||||
})
|
||||
Volcanos("ondaemon", {help: "推荐引擎", list: [], _init: function(can, name) { if (can.user.isLocalFile) { return }
|
||||
can.misc.WSS(can, {type: "chrome", name: can.misc.Search(can, "daemon")||name||""}, function(event, msg, cmd, arg) { if (!msg) { return }
|
||||
can.misc.WSS(can, {type: html.CHROME, name: can.misc.Search(can, "daemon")||name||""}, function(event, msg, cmd, arg) { if (!msg) { return }
|
||||
can.base.isFunc(can.ondaemon[cmd])? can.core.CallFunc(can.ondaemon[cmd], {
|
||||
"can": can, "msg": msg, "cmd": cmd, "arg": arg, "cb": function() { msg.Reply() },
|
||||
}): can.onengine._search({}, can, msg, can, ["_search", cmd].concat(arg), function() {
|
||||
msg.Reply()
|
||||
})
|
||||
})
|
||||
can.onengine.listen(can, "onsearch", function(msg, word) { var meta = can.onengine.plugin.meta
|
||||
if (word[0] != "*" && word[0] != ctx.COMMAND) { return }
|
||||
var list = word[1] == ""? meta: meta[word[1]]? kit.Dict(word[1], meta[word[1]]): {}
|
||||
can.core.Item(list, function(name, command) { name = can.base.trimPrefix(name, "can.")
|
||||
can.core.List(msg.Option(ice.MSG_FIELDS).split(ice.FS), function(item) {
|
||||
msg.Push(item, kit.Dict(
|
||||
"ctx", "onengine", "cmd", "command",
|
||||
"type", "can", "name", name, "text", command.help,
|
||||
"context", "can", "command", name,
|
||||
)[item]||"")
|
||||
})
|
||||
})
|
||||
})
|
||||
}, _list: [""],
|
||||
pwd: function(can, msg, arg) {
|
||||
can.ondaemon._list[0] = arg[0]
|
||||
@ -142,7 +131,6 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
|
||||
Status: function(key, value) {
|
||||
if (sub.base.isObject(key)) { return sub.core.Item(key, sub.Status), key }
|
||||
|
||||
sub.page.Select(sub, status, "div."+key+">span", function(item) {
|
||||
return value == undefined? (value = item.innerHTML): (item.innerHTML = value)
|
||||
}); return value
|
||||
@ -155,11 +143,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
silent || cmds[0] == ctx.ACTION || sub.base.Eq(sub._history[sub._history.length-1], cmds) || sub._history.push(cmds)
|
||||
return cmds
|
||||
},
|
||||
Clone: function() {
|
||||
meta.args = sub.page.SelectArgs(sub, option, "")
|
||||
can.onappend._init(can, meta, list, function(sub) {
|
||||
Clone: function() { meta.args = sub.page.SelectArgs(sub, option, "")
|
||||
can.onappend._init(can, meta, list, function(sub) { can.base.isFunc(cb) && cb(sub, true)
|
||||
can.core.Timer(10, function() { for (var k in sub._inputs) { can.onmotion.focus(can, sub._inputs[k]._target); break } })
|
||||
can.base.isFunc(cb) && cb(sub, true)
|
||||
}, target)
|
||||
},
|
||||
}, list, function(sub) { sub.Conf(meta), meta.feature = sub.base.Obj(meta.feature, {})
|
||||
@ -168,9 +154,8 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
|
||||
sub.page.Modify(sub, sub._legend, {onmouseenter: function(event) {
|
||||
sub.user.carte(event, sub, sub.onaction, sub.onaction.list.concat([["所有 ->"].concat(can.core.Item(meta.feature._trans))], ["close"]))
|
||||
}})
|
||||
}}), meta.inputs && sub.onappend._option(sub, meta, sub._option)
|
||||
|
||||
meta.inputs && sub.onappend._option(sub, meta, sub._option)
|
||||
can.base.isFunc(cb) && cb(sub)
|
||||
}); return sub
|
||||
},
|
||||
@ -303,8 +288,8 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
},
|
||||
table: function(can, msg, cb, target, sort) {
|
||||
var table = can.page.AppendTable(can, msg, target||can._output, msg.append, cb||function(value, key, index, line, array) {
|
||||
if (msg.append.length == 2 && msg.append[0] == kit.MDB_KEY && msg.append[1] == kit.MDB_VALUE) {
|
||||
if (key == kit.MDB_VALUE) { key = line.key }
|
||||
if (msg.append.length == 2 && msg.append[0] == mdb.KEY && msg.append[1] == mdb.VALUE) {
|
||||
if (key == mdb.VALUE) { key = line.key }
|
||||
line = {}, can.core.List(array, function(item) { line[item.key] = item.value })
|
||||
}
|
||||
|
||||
@ -326,7 +311,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
return
|
||||
}
|
||||
can.sup.onaction.change(event, can.sup, key, value)
|
||||
}, ondblclick: function(event) { if ([kit.MDB_KEY].indexOf(key) > -1) { return }
|
||||
}, ondblclick: function(event) { if ([mdb.KEY].indexOf(key) > -1) { return }
|
||||
var item = can.core.List(can.Conf("feature.insert"), function(item) {
|
||||
if (item.name == key) { return item }
|
||||
})[0]||{name: key, value: value}
|
||||
@ -352,7 +337,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
},
|
||||
|
||||
figure: function(can, meta, target, cb) { if ([html.BUTTON, html.SELECT].indexOf(meta.type) > -1) { return }
|
||||
var input = meta.action||kit.MDB_KEY; input != "auto" && can.require(["/plugin/input/"+input+".js"], function(can) {
|
||||
var input = meta.action||mdb.KEY; input != "auto" && can.require(["/plugin/input/"+input+".js"], function(can) {
|
||||
can.core.ItemCB(can.onfigure[input], function(key, on) {
|
||||
target[key] = function(event) {
|
||||
can.onappend._init(can, {type: html.INPUT, name: input, pos: chat.FLOAT}, [], function(sub) { sub.Conf(meta)
|
||||
@ -555,7 +540,7 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe
|
||||
story: {
|
||||
_hash: {
|
||||
spark: function(can, meta, target) {
|
||||
if (meta[kit.MDB_NAME] == "inner") {
|
||||
if (meta[mdb.NAME] == "inner") {
|
||||
target.title = "点击复制", target.onclick = function(event) {
|
||||
can.user.copy(event, can, target.innerText)
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg
|
||||
Push: function(key, value, detail) {
|
||||
if (can.base.isObject(key)) {
|
||||
value = value || can.core.Item(key), can.core.List(value, function(item) {
|
||||
detail? msg.Push(kit.MDB_KEY, item).Push(kit.MDB_VALUE, key[item]||""):
|
||||
detail? msg.Push(mdb.KEY, item).Push(mdb.VALUE, key[item]||""):
|
||||
msg.Push(item, key[item]||"")
|
||||
})
|
||||
return msg
|
||||
|
10
lib/user.js
10
lib/user.js
@ -12,8 +12,8 @@ Volcanos("user", {help: "用户操作", agent: {
|
||||
} );
|
||||
},
|
||||
openLocation: function(msg) {
|
||||
window.open("https://map.baidu.com/search/"+encodeURIComponent(msg.Option(kit.MDB_TEXT))
|
||||
+"/@12958750.085,4825785.55,16z?querytype=s&da_src=shareurl&wd="+encodeURIComponent(msg.Option(kit.MDB_TEXT)))
|
||||
window.open("https://map.baidu.com/search/"+encodeURIComponent(msg.Option(mdb.TEXT))
|
||||
+"/@12958750.085,4825785.55,16z?querytype=s&da_src=shareurl&wd="+encodeURIComponent(msg.Option(mdb.TEXT)))
|
||||
},
|
||||
chooseImage: function(cb) {
|
||||
typeof cb == lang.FUNCTION && cb([])
|
||||
@ -114,9 +114,9 @@ Volcanos("user", {help: "用户操作", agent: {
|
||||
share: function(can, msg, cmd) {
|
||||
can.run(msg._event, cmd||[ctx.ACTION, chat.SHARE], function(msg) {
|
||||
can.user.toast(can, {height: 300, width: 500,
|
||||
title: msg.Append(kit.MDB_NAME), duration: -1,
|
||||
content: msg.Append(kit.MDB_TEXT), action: [cli.CLOSE],
|
||||
}), can.user.copy(msg._event, can, msg.Append(kit.MDB_NAME))
|
||||
title: msg.Append(mdb.NAME), duration: -1,
|
||||
content: msg.Append(mdb.TEXT), action: [cli.CLOSE],
|
||||
}), can.user.copy(msg._event, can, msg.Append(mdb.NAME))
|
||||
})
|
||||
},
|
||||
login: function(can, cb, method) {
|
||||
|
@ -53,7 +53,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg)
|
||||
can.user.title(can.misc.Search(can, chat.TITLE)||msg.Option(chat.TITLE))
|
||||
can.onaction.layout(can, "auto")
|
||||
|
||||
if (msg[kit.MDB_INDEX].length == 1) { can.require(["/panel/cmd.css"])
|
||||
if (msg[mdb.INDEX].length == 1) { can.require(["/panel/cmd.css"])
|
||||
can.user.mod.isCmd = true, can.page.ClassList.add(can, can._target, "cmd")
|
||||
can.page.Select(can, document.body, "fieldset.panel", function(item) {
|
||||
item != can._target && can.onmotion.hidden(can, item)
|
||||
|
@ -42,13 +42,13 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
}, onmouseenter: function(event) {
|
||||
var list = msg.Table()
|
||||
can.user.carte(event, can, {}, can.core.List(list, function(item) { return item.name }), function(event, item, meta, index) {
|
||||
can.user.open(list[index].path)
|
||||
event.shiftKey? can.user.open(list[index].path): can.user.jumps(list[index].path)
|
||||
})
|
||||
}}])
|
||||
})
|
||||
},
|
||||
_state: function(can, msg, target) {
|
||||
can.core.List(can.base.Obj(msg.Option(chat.STATE)||can.Conf(chat.STATE), [kit.MDB_TIME, aaa.USERNICK]), function(item) {
|
||||
can.core.List(can.base.Obj(msg.Option(chat.STATE)||can.Conf(chat.STATE), [mdb.TIME, aaa.USERNICK]), function(item) {
|
||||
if (item == aaa.AVATAR ) { if (can.user.isLocalFile) { return }
|
||||
can.page.Append(can, target, [{view: can.base.join([chat.STATE, item]), list: [{img: ice.SP}], onmouseenter: function(event) {
|
||||
can.onaction.carte(event, can, [can.page.Format(html.IMG, "/share/local/avatar", 160)])
|
||||
@ -57,7 +57,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
|
||||
can.page.Append(can, target, [{view: [can.base.join([chat.STATE, item]), html.DIV, (can.Conf(item)||"").slice(0, 10)], onmouseenter: function(event) {
|
||||
can.core.CallFunc([can.onaction, item], [event, can, item])
|
||||
}, _init: function(target) { item == kit.MDB_TIME && can.onimport._time(can, target) }}])
|
||||
}, _init: function(target) { item == mdb.TIME && can.onimport._time(can, target) }}])
|
||||
})
|
||||
},
|
||||
_search: function(can, msg, target) {
|
||||
@ -187,7 +187,7 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, meta,
|
||||
can.set("River", html.HEIGHT, -1), can.set("Action", html.HEIGHT, -1)
|
||||
},
|
||||
webpack: function(event, can) {
|
||||
can.user.input(event, can, [{name: kit.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) {
|
||||
can.core.Item(Volcanos.meta.pack, function(key, msg) {
|
||||
can.core.List(["_event", "_can", "_xhr", ice.MSG_SESSID, ""], function(key) { delete(msg[key]) })
|
||||
})
|
||||
@ -210,7 +210,7 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, meta,
|
||||
usernick: function(event, can) {
|
||||
can.onaction.carte(event, can, ["shareuser", "setnick", [aaa.LANGUAGE, aaa.CHINESE, aaa.ENGLISH], cli.CLEAR, aaa.LOGOUT])
|
||||
},
|
||||
shareuser: function(event, can) { can.user.share(can, can.request(event), [ctx.ACTION, chat.SHARE, kit.MDB_TYPE, aaa.LOGIN]) },
|
||||
shareuser: function(event, can) { can.user.share(can, can.request(event), [ctx.ACTION, chat.SHARE, mdb.TYPE, aaa.LOGIN]) },
|
||||
setnick: function(event, can) {
|
||||
var ui = can.user.input(event, can, [{name: aaa.USERNICK, value: can.Conf(aaa.USERNICK)}], function(ev, button, data, list, args) {
|
||||
can.run(event, [aaa.USERNICK, list[0]], function(msg) {
|
||||
|
@ -130,8 +130,8 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg,
|
||||
create: function(event, can) {
|
||||
can.user.trans(can, {"public": "公开群", "protected": "内部群", "private": "私有群"})
|
||||
can.user.input(event, can, [
|
||||
{name: kit.MDB_TYPE, values: [chat.PUBLIC, chat.PROTECTED, chat.PRIVATE], _trans: "类型"},
|
||||
{name: kit.MDB_NAME, value: "hi", _trans: "群名"}, {name: kit.MDB_TEXT, value: "hello", _trans: "简介"},
|
||||
{name: mdb.TYPE, values: [chat.PUBLIC, chat.PROTECTED, chat.PRIVATE], _trans: "类型"},
|
||||
{name: mdb.NAME, value: "hi", _trans: "群名"}, {name: mdb.TEXT, value: "hello", _trans: "简介"},
|
||||
], function(event, button, meta, list, args) {
|
||||
can.run(event, [ctx.ACTION, mdb.CREATE].concat(args), function(msg) {
|
||||
can.misc.Search(can, {river: msg.Result()})
|
||||
@ -157,20 +157,20 @@ Volcanos("ondetail", {help: "菜单交互",
|
||||
"创建群组": function(event, can) { can.onaction.create(event, can) },
|
||||
"共享群组": function(event, can, button, river) {
|
||||
can.user.input(event, can, [{name: chat.TILTE, value: river, _trans: "标题"}], function(event, button, meta, list) {
|
||||
can.user.share(can, can.request(event), [river, ctx.ACTION, chat.SHARE, kit.MDB_TYPE, chat.RIVER, kit.MDB_NAME, list[0]])
|
||||
can.user.share(can, can.request(event), [river, ctx.ACTION, chat.SHARE, mdb.TYPE, chat.RIVER, mdb.NAME, list[0]])
|
||||
})
|
||||
},
|
||||
"添加应用": function(event, can, button, river) { can.ondetail.create(event, can, button, river) },
|
||||
"共享应用": function(event, can, button, river, storm) {
|
||||
can.user.input(event, can, [{name: chat.TILTE, value: storm, _trans: "标题"}], function(event, button, meta, list) {
|
||||
can.user.share(can, can.request(event), [river, ctx.ACTION, chat.SHARE, kit.MDB_TYPE, chat.STORM, kit.MDB_NAME, list[0],
|
||||
can.user.share(can, can.request(event), [river, ctx.ACTION, chat.SHARE, mdb.TYPE, chat.STORM, mdb.NAME, list[0],
|
||||
chat.STORM, storm, chat.RIVER, river,
|
||||
])
|
||||
})
|
||||
},
|
||||
"添加工具": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, ctx.COMMAND, "context,command", function(item, next) {
|
||||
can.run({}, [river, chat.STORM, ctx.ACTION, mdb.INSERT, kit.MDB_HASH, storm].concat([ice.POD, "", ice.CTX, item[0], ice.CMD, item[1]]), function(msg) {
|
||||
can.run({}, [river, chat.STORM, ctx.ACTION, mdb.INSERT, mdb.HASH, storm].concat([ice.POD, "", ice.CTX, item[0], ice.CMD, item[1]]), function(msg) {
|
||||
next()
|
||||
})
|
||||
}, function() {
|
||||
@ -179,15 +179,15 @@ Volcanos("ondetail", {help: "菜单交互",
|
||||
},
|
||||
"共享工具": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, mdb.PLUGIN, "name,context,command,argument", function(item, next) {
|
||||
can.user.share(can, can.request(event), [river, ctx.ACTION, chat.SHARE, kit.MDB_TYPE, chat.FIELD,
|
||||
kit.MDB_NAME, item[2], kit.MDB_TEXT, item[3], chat.TITLE, item[0], chat.RIVER, river, chat.STORM, storm,
|
||||
can.user.share(can, can.request(event), [river, ctx.ACTION, chat.SHARE, mdb.TYPE, chat.FIELD,
|
||||
mdb.NAME, item[2], mdb.TEXT, item[3], chat.TITLE, item[0], chat.RIVER, river, chat.STORM, storm,
|
||||
])
|
||||
})
|
||||
},
|
||||
|
||||
"添加设备": function(event, can, button, river) {
|
||||
can.user.select(event, can, web.SPACE, "type,name,text", function(item, next) {
|
||||
can.run({}, [river, chat.NODE, ctx.ACTION, mdb.INSERT, kit.MDB_TYPE, item[0], kit.MDB_NAME, item[1]], function(msg) {
|
||||
can.run({}, [river, chat.NODE, ctx.ACTION, mdb.INSERT, mdb.TYPE, item[0], mdb.NAME, item[1]], function(msg) {
|
||||
next()
|
||||
})
|
||||
})
|
||||
@ -203,7 +203,7 @@ Volcanos("ondetail", {help: "菜单交互",
|
||||
"创建空间": function(event, can, button, river, storm) { can.request(event, {action: button})
|
||||
can.user.input(event, can, [{name: "name", value: "hi"}, {name: "repos"}, {name: "template"}], function(event, button, data, list, args) {
|
||||
can.run(event, [ctx.ACTION, cli.START].concat(args, chat.RIVER, river), function(msg) {
|
||||
var link = can.misc.MergeURL(can, {_path: "/chat/pod/"+can.core.Keys(can.misc.Search(can, ice.POD), msg.Option(kit.MDB_NAME))})
|
||||
var link = can.misc.MergeURL(can, {_path: "/chat/pod/"+can.core.Keys(can.misc.Search(can, ice.POD), msg.Option(mdb.NAME))})
|
||||
can.user.toast(can, link), can.user.open(link)
|
||||
})
|
||||
})
|
||||
@ -221,8 +221,8 @@ Volcanos("ondetail", {help: "菜单交互",
|
||||
})
|
||||
},
|
||||
"重命名群组": function(event, can, button, river) {
|
||||
can.user.input(event, can, [kit.MDB_NAME], function(event, button, meta, list) {
|
||||
can.run(can.request(event, {hash: river})._event, [ctx.ACTION, mdb.MODIFY, kit.MDB_NAME, meta.name], function(msg) {
|
||||
can.user.input(event, can, [mdb.NAME], function(event, button, meta, list) {
|
||||
can.run(can.request(event, {hash: river})._event, [ctx.ACTION, mdb.MODIFY, mdb.NAME, meta.name], function(msg) {
|
||||
can.misc.Search(can, {river: river})
|
||||
})
|
||||
})
|
||||
@ -241,7 +241,7 @@ Volcanos("ondetail", {help: "菜单交互",
|
||||
})
|
||||
},
|
||||
"重命名应用": function(event, can, button, river, storm) {
|
||||
can.user.input(event, can, [kit.MDB_NAME], function(ev, button, meta, list, args) {
|
||||
can.user.input(event, can, [mdb.NAME], function(ev, button, meta, list, args) {
|
||||
can.run(can.request(event, {hash: storm})._event, [river, chat.STORM, ctx.ACTION, mdb.MODIFY].concat(args), function(msg) {
|
||||
can.misc.Search(can, {river: river, storm: storm})
|
||||
})
|
||||
@ -257,8 +257,8 @@ Volcanos("ondetail", {help: "菜单交互",
|
||||
create: function(event, can, button, river) {
|
||||
can.user.trans(can, {"public": "公开应用", "protected": "群组应用", "private": "个人应用"})
|
||||
can.user.input(event, can, [
|
||||
{name: kit.MDB_TYPE, values: [chat.PUBLIC, chat.PROTECTED, chat.PRIVATE], _trans: "类型"},
|
||||
{name: kit.MDB_NAME, value: "hi", _trans: "名称"}, {name: kit.MDB_TEXT, value: "hello", _trans: "简介"},
|
||||
{name: mdb.TYPE, values: [chat.PUBLIC, chat.PROTECTED, chat.PRIVATE], _trans: "类型"},
|
||||
{name: mdb.NAME, value: "hi", _trans: "名称"}, {name: mdb.TEXT, value: "hello", _trans: "简介"},
|
||||
], function(event, button, meta, list, args) {
|
||||
can.run({}, [river, chat.STORM, ctx.ACTION, mdb.CREATE].concat(args), function(msg) {
|
||||
can.misc.Search(can, {river: river, storm: msg.Result()})
|
||||
|
@ -1,7 +1,7 @@
|
||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
||||
can.list = msg.Table(), can.onmotion.clear(can, can.ui.content)
|
||||
var table = can.onappend.table(can, msg, function(value, key, index, line, array) { can.Status(kit.MDB_TOTAL, index+1)
|
||||
return {text: [key == kit.MDB_TEXT && can.base.isFunc(line.text) && line.text.help || value, html.TD], onclick: function(event) {
|
||||
var table = can.onappend.table(can, msg, function(value, key, index, line, array) { can.Status(mdb.TOTAL, index+1)
|
||||
return {text: [key == mdb.TEXT && can.base.isFunc(line.text) && line.text.help || value, html.TD], onclick: function(event) {
|
||||
can.onaction[can.type == "*"||event.ctrlKey? chat.PLUGIN: mdb.SELECT](event, can, index)
|
||||
}}
|
||||
}, can.ui.content, can.core.List((msg.Option("sort")||"ctx,cmd,type,name,text").split(ice.FS), function(item) {
|
||||
@ -88,7 +88,7 @@ Volcanos("onaction", {help: "交互操作", list: [cli.CLEAR, cli.CLOSE, cli.DON
|
||||
if (can.base.isFunc(line.text)) { return can.onmotion.hide(can), line.text(event) }
|
||||
|
||||
var cmd = line.cmd == ctx.COMMAND? can.core.Keys(line.type, line.name.split(ice.SP)[0]): can.core.Keys(line.ctx, line.cmd)
|
||||
can.onappend.plugin(can, {type: chat.PLUGIN, index: cmd||msg.Option(kit.MDB_INDEX)}, function(sub, meta) {
|
||||
can.onappend.plugin(can, {type: chat.PLUGIN, index: cmd||msg.Option(mdb.INDEX)}, function(sub, meta) {
|
||||
can.getActionSize(function(msg, height, width) { height -= can.ui.content.offsetHeight+204
|
||||
can.page.Modify(can, sub._output, {style: kit.Dict(html.MAX_HEIGHT, height-26, html.MAX_WIDTH, width-40)})
|
||||
sub.Conf(html.HEIGHT, height+28), sub.Conf(html.WIDTH, width-60)
|
||||
|
@ -18,16 +18,16 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, meta,
|
||||
refresh: function(event, can) { can.run(event) },
|
||||
|
||||
onclick: function(event, can) {
|
||||
if (can.Conf(kit.MDB_TYPE) == html.BUTTON) { can.run(event, [ctx.ACTION, can.Conf(kit.MDB_NAME)].concat(can.sup.Input())) }
|
||||
if (can.Conf(mdb.TYPE) == html.BUTTON) { can.run(event, [ctx.ACTION, can.Conf(mdb.NAME)].concat(can.sup.Input())) }
|
||||
},
|
||||
onchange: function(event, can) {
|
||||
if (can.Conf(kit.MDB_TYPE) == html.SELECT) { can.run(event) }
|
||||
if (can.Conf(mdb.TYPE) == html.SELECT) { can.run(event) }
|
||||
},
|
||||
onkeydown: function(event, can) {
|
||||
if (can.Conf(kit.MDB_TYPE) == html.TEXTAREA) { if (!event.ctrlKey) { return } }
|
||||
if (can.Conf(mdb.TYPE) == html.TEXTAREA) { if (!event.ctrlKey) { return } }
|
||||
can.onkeypop.input(event, can, event.target); switch (event.key) {
|
||||
case lang.ENTER:
|
||||
switch (can.Conf(kit.MDB_TYPE)) {
|
||||
switch (can.Conf(mdb.TYPE)) {
|
||||
case html.TEXTAREA: if (!event.ctrlKey) { return }
|
||||
case html.TEXT: event.target.setSelectionRange(0, -1); break
|
||||
}; can.run(event), event.stopPropagation(), event.preventDefault(); break
|
||||
|
@ -14,7 +14,7 @@ Volcanos("onfigure", {help: "控件详情", list: [], key: {onclick: function(ev
|
||||
show(msg)
|
||||
}): can.page.Remove(can, can._target)
|
||||
}}
|
||||
}), can.Status(kit.MDB_COUNT, msg.Length())
|
||||
}), can.Status(mdb.COUNT, msg.Length())
|
||||
}
|
||||
show(msg), can.onlayout.figure(event, can)
|
||||
})
|
||||
|
@ -8,7 +8,7 @@ Volcanos("onfigure", {help: "控件详情", list: [], province: {onclick: functi
|
||||
var china_chart = echarts.init(can.page.Append(can, can._output, [{type: html.DIVk, style: {width: "600px", height: "400px"}}]).first)
|
||||
china_chart.setOption({geo: {map: 'china'}}), china_chart.on('click', function (params) {
|
||||
target.value = params.name, can.page.Remove(can, can._target)
|
||||
}), can.Status(kit.MDB_COUNT, 34)
|
||||
}), can.Status(mdb.COUNT, 34)
|
||||
can.onlayout.figure(event, can)
|
||||
})
|
||||
}}, })
|
||||
|
@ -83,7 +83,7 @@ Volcanos("onaction", {help: "操作数据", list: [],
|
||||
})
|
||||
},
|
||||
"保存": function(event, can) { var msg = can.request(event, can.Option())
|
||||
can.run(event, [mdb.MODIFY, kit.MDB_TEXT, JSON.stringify(can._meta)], function(msg) {
|
||||
can.run(event, [mdb.MODIFY, mdb.TEXT, JSON.stringify(can._meta)], function(msg) {
|
||||
can.user.toastSuccess(can)
|
||||
}, true)
|
||||
},
|
||||
|
@ -14,8 +14,8 @@ Volcanos("onaction", {source: function(can, msg) {
|
||||
openLocation: function(msg) { wx.openLocation({
|
||||
latitude: parseInt(msg.Option("latitude"))/100000,
|
||||
longitude: parseInt(msg.Option("longitude"))/100000,
|
||||
name: msg.Option(kit.MDB_NAME), address: msg.Option(kit.MDB_TEXT),
|
||||
scale: msg.Option("scale")||14, infoUrl: msg.Option(kit.MDB_LINK),
|
||||
name: msg.Option(mdb.NAME), address: msg.Option(mdb.TEXT),
|
||||
scale: msg.Option("scale")||14, infoUrl: msg.Option(mdb.LINK),
|
||||
}) },
|
||||
chooseImage: function(cb, count) { wx.chooseImage({count: count||9, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], success: function (res) {
|
||||
can.base.isFunc(cb) && cb(res.localIds)
|
||||
|
@ -300,8 +300,8 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "收藏"],
|
||||
{name: "name", value: "hello"},
|
||||
], function(event, button, meta, list) {
|
||||
can.run(event, [ctx.ACTION, code.FAVOR,
|
||||
ctx.ACTION, mdb.INSERT, kit.MDB_ZONE, meta.zone||"",
|
||||
kit.MDB_TYPE, can.parse, kit.MDB_NAME, meta.name||"", kit.MDB_TEXT, (value||"").trimRight(),
|
||||
ctx.ACTION, mdb.INSERT, mdb.ZONE, meta.zone||"",
|
||||
mdb.TYPE, can.parse, mdb.NAME, meta.name||"", mdb.TEXT, (value||"").trimRight(),
|
||||
nfs.PATH, can.Option(nfs.PATH), nfs.FILE, can.Option(nfs.FILE), nfs.LINE, can.Option(nfs.LINE),
|
||||
], function(msg) {
|
||||
can.user.toastSuccess(can)
|
||||
|
@ -87,7 +87,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
_display: function(can, task) { if (!task["extra.cmd"]) { return }
|
||||
can.onappend.plugin(can, {type: chat.STORY, ctx: task["extra.ctx"], cmd: task["extra.cmd"], arg: task["extra.arg"]}, function(sub, meta) {
|
||||
sub.run = function(event, cmds, cb) { var msg = can.request(event, kit.Dict("task.pod", task["pod"], "task.zone", task.zone, "task.id", task.id))
|
||||
can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, task[kit.MDB_ZONE], task[kit.MDB_ID]], cmds), cb, true)
|
||||
can.run(event, can.misc.concat([ctx.ACTION, ice.RUN, task[mdb.ZONE], task[mdb.ID]], cmds), cb, true)
|
||||
}
|
||||
}, can.ui.display)
|
||||
can.page.Modify(can, can.ui.display, {style: {display: html.BLOCK}})
|
||||
|
@ -93,9 +93,9 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
}})
|
||||
|
||||
var figure = can.onfigure._get(can, target)
|
||||
list = (list||[]).concat(figure.data.copy, [svg.X, svg.Y, kit.MDB_INDEX, kit.MDB_ARGS])
|
||||
list = (list||[]).concat(figure.data.copy, [svg.X, svg.Y, mdb.INDEX, ctx.ARGS])
|
||||
can.page.Append(can, can.ui.profile, [{type: html.TABLE, className: "content", list: [
|
||||
{th: [kit.MDB_KEY, kit.MDB_VALUE]}, {td: [kit.MDB_TYPE, target.tagName]}, {td: ["pid", target.Value("pid")]},
|
||||
{th: [mdb.KEY, mdb.VALUE]}, {td: [mdb.TYPE, target.tagName]}, {td: ["pid", target.Value("pid")]},
|
||||
].concat(can.core.List(list, function(key) {
|
||||
return key = figure.data.size[key]||key, {td: [key, target.Value(key)], ondblclick: function(event) {
|
||||
can.onmotion.modify(can, event.target, function(event, value, old) {
|
||||
@ -117,10 +117,10 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
}, ["/plugin/local/wiki/draw.css"])
|
||||
Volcanos("onfigure", {help: "图形绘制", list: [],
|
||||
_get: function(can, item, name) {
|
||||
return can.onfigure[name]||can.onfigure[item.getAttribute(kit.MDB_NAME)]||can.onfigure[item.tagName]
|
||||
return can.onfigure[name]||can.onfigure[item.getAttribute(mdb.NAME)]||can.onfigure[item.tagName]
|
||||
},
|
||||
_pid: function(can, item) { if (item.Value("pid")) { return item.Value("pid") }
|
||||
var pid = "p"+can.svg.Val(kit.MDB_COUNT, can.svg.Val(kit.MDB_COUNT)+1)
|
||||
var pid = "p"+can.svg.Val(mdb.COUNT, can.svg.Val(mdb.COUNT)+1)
|
||||
item.Value(html.CLASS, (item.Value(html.CLASS)+ice.SP+item.Value("pid", pid)).trim())
|
||||
return pid
|
||||
},
|
||||
@ -155,7 +155,7 @@ Volcanos("onfigure", {help: "图形绘制", list: [],
|
||||
text: { // <text x="60" y="10">hi<text>
|
||||
data: {points: 1, size: {}, copy: [html.INNER]},
|
||||
draw: function(event, can, point, style) { if (point.length < 1 || event.type == "mousemove") { return }
|
||||
var p0 = point[0], text = style&&style.inner||can.user.prompt(kit.MDB_TEXT)
|
||||
var p0 = point[0], text = style&&style.inner||can.user.prompt(mdb.TEXT)
|
||||
return text? {x: p0.x, y: p0.y, inner: text}: null
|
||||
},
|
||||
show: function(can, target, figure) { return can.onexport._position(can, target, figure) }
|
||||
@ -336,7 +336,7 @@ Volcanos("onaction", {help: "组件菜单", list: [
|
||||
|
||||
can.current && can.core.List(can.current.begin, function(item) { var figure = can.onfigure._get(can, item.target)
|
||||
can.onexport.resize(event, item.target, item, point[0], point[1], can.current.pos)
|
||||
can.page.Select(can, can.svg, ice.PT+item.target.Value(kit.MDB_TEXT), function(text) {
|
||||
can.page.Select(can, can.svg, ice.PT+item.target.Value(mdb.TEXT), function(text) {
|
||||
text.Value(can.onexport._text(can, item.target, figure, {}))
|
||||
})
|
||||
can.onfigure._move(can, item.target, item.ship)
|
||||
@ -348,7 +348,7 @@ Volcanos("onaction", {help: "组件菜单", list: [
|
||||
},
|
||||
_auto: function(can, target) {
|
||||
if (can.point.length > 0) { return }
|
||||
if (target.tagName == kit.MDB_TEXT) { return }
|
||||
if (target.tagName == mdb.TEXT) { return }
|
||||
|
||||
var pos = can.onexport.cursor(event, can, event.target)
|
||||
if (target == can.svg) {
|
||||
@ -414,7 +414,7 @@ Volcanos("ondetail", {help: "组件详情", list: [cli.START, ice.RUN, ice.COPY,
|
||||
var cache = can.page.Cache(can._pid, can.ui.display); if (cache) { return }
|
||||
|
||||
can.onmotion.clear(can, can.ui.display), can.svg.Value("pid", target.Value("pid"))
|
||||
var index = target.Value(kit.MDB_INDEX); index && can.onappend.plugin(can, {type: chat.STORY, index: index, args: target.Value(kit.MDB_ARGS)}, function(sub) {
|
||||
var index = target.Value(mdb.INDEX); index && can.onappend.plugin(can, {type: chat.STORY, index: index, args: target.Value(ctx.ARGS)}, function(sub) {
|
||||
sub.Conf("height", can.Conf("height")-can.svg.Val("height")-52), sub.Conf("width", can.Conf("width"))
|
||||
sub.run = function(event, cmds, cb) { can.run(event, can.misc.concat([ice.RUN, index], cmds), cb, true) }
|
||||
can.onmotion.hidden(can, sub._legend), can.onmotion.hidden(can, can.ui.display, true)
|
||||
@ -422,7 +422,7 @@ Volcanos("ondetail", {help: "组件详情", list: [cli.START, ice.RUN, ice.COPY,
|
||||
},
|
||||
copy: function(event, can) { can.onfigure._copy(event, can, event.target) },
|
||||
label: function(event, can) { var target = event.target
|
||||
var def = target.Value(kit.MDB_TEXT); def && can.page.Select(can, can.svg, ice.PT+def, function(item) {
|
||||
var def = target.Value(mdb.TEXT); def && can.page.Select(can, can.svg, ice.PT+def, function(item) {
|
||||
def = item.Value(html.INNER)
|
||||
})
|
||||
can.user.prompt(html.LABEL, function(text) {
|
||||
@ -437,7 +437,7 @@ Volcanos("ondetail", {help: "组件详情", list: [cli.START, ice.RUN, ice.COPY,
|
||||
var figure = can.onfigure._get(can, target)
|
||||
var data = can.onexport._text(can, target, figure, {inner: text})
|
||||
var item = can.onfigure._push(can, html.TEXT, data, target.Group())
|
||||
target.Value(kit.MDB_TEXT, can.onfigure._pid(can, item))
|
||||
target.Value(mdb.TEXT, can.onfigure._pid(can, item))
|
||||
}, def)
|
||||
},
|
||||
modify: function(event, can) { can.onimport._profile(can, event.target) },
|
||||
@ -448,7 +448,7 @@ Volcanos("ondetail", {help: "组件详情", list: [cli.START, ice.RUN, ice.COPY,
|
||||
can.page.Remove(can, item)
|
||||
})
|
||||
})
|
||||
target.Value(kit.MDB_TEXT) && can.page.Select(can, can.svg, ice.PT+target.Value(kit.MDB_TEXT), function(item) {
|
||||
target.Value(mdb.TEXT) && can.page.Select(can, can.svg, ice.PT+target.Value(mdb.TEXT), function(item) {
|
||||
can.page.Remove(can, item)
|
||||
})
|
||||
can.page.Remove(can, target)
|
||||
@ -481,7 +481,7 @@ Volcanos("onexport", {help: "导出数据", list: ["group", "figure", "index", "
|
||||
|
||||
content: function(can, svg) {
|
||||
return ['<svg vertion="1.1" xmlns="https://www.w3.org/2000/svg" text-anchor="middle" dominant-baseline="middle"'].concat(
|
||||
svg? can.core.List([html.HEIGHT, html.WIDTH, kit.MDB_COUNT, "pid", "grid", html.STROKE_WIDTH, html.STROKE, html.FILL, html.FONT_SIZE], function(item) {
|
||||
svg? can.core.List([html.HEIGHT, html.WIDTH, mdb.COUNT, "pid", "grid", html.STROKE_WIDTH, html.STROKE, html.FILL, html.FONT_SIZE], function(item) {
|
||||
return svg.Value(item)? ice.SP + item + '="' + svg.Value(item) + '"': ""
|
||||
}): [" height="+((can.Conf(html.HEIGHT)||450)-50)+" width="+(can.Conf(html.WIDTH)||600)]).concat(['>', svg? svg.innerHTML: "", "</svg>"]).join("")
|
||||
},
|
||||
|
@ -81,8 +81,8 @@ Volcanos("onaction", {help: "交互操作", list: [
|
||||
},
|
||||
"共享工具": function(event, can) { var meta = can.Conf()
|
||||
var ui = can.user.input(event, can, [{name: chat.TITLE, value: meta.name}], function(ev, button, data, list) {
|
||||
var msg = can.request(event, {arg: [kit.MDB_TYPE, chat.FIELD,
|
||||
kit.MDB_NAME, meta.index, kit.MDB_TEXT, JSON.stringify(can.Input([], true)),
|
||||
var msg = can.request(event, {arg: [mdb.TYPE, chat.FIELD,
|
||||
mdb.NAME, meta.index, mdb.TEXT, JSON.stringify(can.Input([], true)),
|
||||
chat.TITLE, list[0], chat.RIVER, can.Conf(chat.RIVER), chat.STORM, can.Conf(chat.STORM),
|
||||
]})
|
||||
can.search(event, ["Header.onaction.share"])
|
||||
@ -213,12 +213,12 @@ Volcanos("onaction", {help: "交互操作", list: [
|
||||
if (navigator.clipboard) {
|
||||
navigator.clipboard.readText().then(add).catch(function(err) { can.misc.Log(err) })
|
||||
} else {
|
||||
can.user.input(event, can, [{type: html.TEXTAREA, name: kit.MDB_TEXT}], function(ev, button, data, list, args) { add(list[0]) })
|
||||
can.user.input(event, can, [{type: html.TEXTAREA, name: mdb.TEXT}], function(ev, button, data, list, args) { add(list[0]) })
|
||||
}
|
||||
},
|
||||
getLocation: function(event, can, button) {
|
||||
can.user.agent.getLocation(function(data) { can.request(event, data)
|
||||
can.user.input(event, can, [kit.MDB_TYPE, kit.MDB_NAME, kit.MDB_TEXT, "latitude", "longitude"], function(ev, bu, data, list, args) {
|
||||
can.user.input(event, can, [mdb.TYPE, mdb.NAME, mdb.TEXT, "latitude", "longitude"], function(ev, bu, data, list, args) {
|
||||
can.run(event, [ctx.ACTION, button].concat(can.base.Simple(args, data)), function(msg) {
|
||||
can.user.toastSuccess(can), can.Update()
|
||||
}, true)
|
||||
|
@ -143,11 +143,11 @@ Volcanos("ondetail", {help: "用户交互", list: [],
|
||||
can.request(event, node.meta)
|
||||
}
|
||||
var msg = can.request(event, can.Option())
|
||||
can.run(event, can.base.Obj(can._args.prefix, []).concat([can.Option(kit.MDB_NAME)||"", tree.file||"", tree.name]), function(msg) {
|
||||
can.run(event, can.base.Obj(can._args.prefix, []).concat([can.Option(mdb.NAME)||"", tree.file||"", tree.name]), function(msg) {
|
||||
if (msg.Length() == 0) {
|
||||
return can.ondetail.plugin(can, tree, {}, "web.code.inner", [can.dir_root, tree.file, tree.line], [ctx.ACTION, "inner"])
|
||||
}
|
||||
if (msg.Append(kit.MDB_INDEX)) { msg.Table(function(value) {
|
||||
if (msg.Append(mdb.INDEX)) { msg.Table(function(value) {
|
||||
can.ondetail.plugin(can, tree, value, value.index, [], [ctx.ACTION, ice.RUN, value.index])
|
||||
}); return }
|
||||
|
||||
|
17
proto.js
17
proto.js
@ -59,8 +59,11 @@ var ice = {
|
||||
MSG_STATUS: "_status",
|
||||
MSG_DISPLAY: "_display",
|
||||
MSG_PROCESS: "_process",
|
||||
PROCESS_AGAIN: "_again",
|
||||
PROCESS_AGAIN: "_again",
|
||||
MSG_PREFIX: "_prefix",
|
||||
|
||||
ErrWarn: "warn: ",
|
||||
ErrNotFound: "not found: ",
|
||||
}
|
||||
|
||||
var ctx = {
|
||||
@ -156,6 +159,7 @@ var chat = {
|
||||
|
||||
SSO: "sso", CMD_MARGIN: 53,
|
||||
|
||||
libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"],
|
||||
panel_list: [
|
||||
{name: "Header", help: "标题栏", pos: "head", state: ["time", "usernick", "avatar"]},
|
||||
{name: "River", help: "群聊组", pos: "left", action: ["create", "refresh"]},
|
||||
@ -235,13 +239,12 @@ function shy(help, meta, list, cb) {
|
||||
}; var _can_name = "", _can_path = ""
|
||||
var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args: {}, pack: {}, libs: [], cache: {}}, function(name, can, libs, cb) {
|
||||
var meta = arguments.callee.meta, list = arguments.callee.list
|
||||
if (typeof name == lang.OBJECT) { var Config = name; Config.panels = Config.panels||chat.panel_list, Config.main = Config.main||{name: "Header"}
|
||||
Config.plugin = Config.plugin||chat.plugin_list
|
||||
libs = [], meta.libs = ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"]
|
||||
meta.iceberg = Config.iceberg||meta.iceberg
|
||||
if (typeof name == lang.OBJECT) { var Config = name; Config.plugin = Config.plugin||chat.plugin_list
|
||||
Config.panels = Config.panels||chat.panel_list, Config.main = Config.main||{name: "Header"}
|
||||
meta.libs = chat.libs, meta.iceberg = Config.iceberg||meta.iceberg
|
||||
|
||||
// 预加载
|
||||
for (var i = 0; i < Config.panels.length; i++) { var panel = Config.panels[i]
|
||||
libs = []; for (var i = 0; i < Config.panels.length; i++) { var panel = Config.panels[i]
|
||||
panel && (libs = libs.concat(panel.list = panel.list||["/panel/"+panel.name+".css", "/panel/"+panel.name+".js"]))
|
||||
}; libs = libs.concat(Config.plugin, Config.main.list)
|
||||
|
||||
@ -334,7 +337,7 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args:
|
||||
Volcanos.meta._load = function(url, cb) {
|
||||
switch (url.split("?")[0].split(ice.PT).pop().toLowerCase()) {
|
||||
case "css":
|
||||
var item = document.createElement(kit.MDB_LINK)
|
||||
var item = document.createElement(mdb.LINK)
|
||||
item.rel = "stylesheet", item.type = "text/css"
|
||||
item.onload = cb, item.href = url
|
||||
return (document.head||document.body).appendChild(item), item
|
||||
|
Loading…
x
Reference in New Issue
Block a user