mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
opt chat
This commit is contained in:
parent
6d8459e767
commit
a2aabed8c0
11
frame.js
11
frame.js
@ -34,7 +34,7 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) {
|
|||||||
|
|
||||||
var names = msg.Option(chat._NAMES)||panel._names||((can.Conf("iceberg")||Volcanos.meta.iceberg)+panel._name)
|
var names = msg.Option(chat._NAMES)||panel._names||((can.Conf("iceberg")||Volcanos.meta.iceberg)+panel._name)
|
||||||
can.misc.Run(event, can, {names: names, daemon: msg._daemon}, cmds, function(msg) { toast && toast.close(), toast = true
|
can.misc.Run(event, can, {names: names, daemon: msg._daemon}, cmds, function(msg) { toast && toast.close(), toast = true
|
||||||
can.base.isFunc(cb) && cb(msg), Volcanos.meta.pack[can.core.Keys(panel._name, cmds.join(ice.FS))] = msg
|
can.base.isFunc(cb) && cb(msg)//, Volcanos.meta.pack[can.core.Keys(panel._name, cmds.join(ice.FS))] = msg
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
_static: function(event, can, msg, panel, cmds, cb) { if (!can.user.isLocalFile) { return false }
|
_static: function(event, can, msg, panel, cmds, cb) { if (!can.user.isLocalFile) { return false }
|
||||||
@ -54,7 +54,7 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) {
|
|||||||
if (can.base.isUndefined(name) || !can.base.isString(name) || name.indexOf("can.") == -1) { return }
|
if (can.base.isUndefined(name) || !can.base.isString(name) || name.indexOf("can.") == -1) { return }
|
||||||
if (can.base.isUndefined(command)) { return arguments.callee.meta[can.base.trimPrefix(name, "can.")] }
|
if (can.base.isUndefined(command)) { return arguments.callee.meta[can.base.trimPrefix(name, "can.")] }
|
||||||
var type = html.TEXT; command.list = can.core.List(command.list, function(item) { return can.base.isString(item) && (item = can.core.SplitInput(item, type)), type = item.type, item })
|
var type = html.TEXT; command.list = can.core.List(command.list, function(item) { return can.base.isString(item) && (item = can.core.SplitInput(item, type)), type = item.type, item })
|
||||||
command.can = can, command.name = name, arguments.callee.meta[can.base.trimPrefix(name, "can.")] = command
|
command.can = can, command.meta.name = name, arguments.callee.meta[can.base.trimPrefix(name, "can.")] = command
|
||||||
}),
|
}),
|
||||||
listen: shy(function(can, name, cb) { arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb) }),
|
listen: shy(function(can, name, cb) { arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb) }),
|
||||||
signal: function(can, name, msg) { msg = msg||can.request(); var _msg = name == chat.ONREMOTE? msg.Option("_msg"): msg
|
signal: function(can, name, msg) { msg = msg||can.request(); var _msg = name == chat.ONREMOTE? msg.Option("_msg"): msg
|
||||||
@ -162,6 +162,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
},
|
},
|
||||||
_output0: function(can, meta, event, cmds, cb, silent) { var msg = can.request(event); if (msg.RunAction(event, can, cmds)) { return }
|
_output0: function(can, meta, event, cmds, cb, silent) { var msg = can.request(event); if (msg.RunAction(event, can, cmds)) { return }
|
||||||
if (msg.Option(ice.MSG_HANDLE) != ice.TRUE && cmds && cmds[0] == ctx.ACTION && meta.feature[cmds[1]]) { var msg = can.request(event, {action: cmds[1]})
|
if (msg.Option(ice.MSG_HANDLE) != ice.TRUE && cmds && cmds[0] == ctx.ACTION && meta.feature[cmds[1]]) { var msg = can.request(event, {action: cmds[1]})
|
||||||
|
if (can.base.isFunc(meta.feature[cmds[1]])) { return meta.feature[cmds[1]](can, msg, cmds.slice(2)) }
|
||||||
return can.user.input(event, can, meta.feature[cmds[1]], function(args) { can.Update(can.request(event, {_handle: ice.TRUE}, can.Option()), cmds.slice(0, 2).concat(args)) })
|
return can.user.input(event, can, meta.feature[cmds[1]], function(args) { can.Update(can.request(event, {_handle: ice.TRUE}, can.Option()), cmds.slice(0, 2).concat(args)) })
|
||||||
}
|
}
|
||||||
return can.onengine._plugin(event, can, msg, can, cmds, cb) || can.run(event, cmds, cb||function(msg) { if (silent) { return }
|
return can.onengine._plugin(event, can, msg, can, cmds, cb) || can.run(event, cmds, cb||function(msg) { if (silent) { return }
|
||||||
@ -249,10 +250,10 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
tools: function(can, msg, cb, target) { can.onimport.tool(can, can.base.Obj(msg.Option(ice.MSG_TOOLKIT), []), cb, target) },
|
tools: function(can, msg, cb, target) { can.onimport.tool(can, can.base.Obj(msg.Option(ice.MSG_TOOLKIT), []), cb, target) },
|
||||||
|
|
||||||
_plugin: function(can, value, meta, cb, target, field) { can.base.Copy(meta, value, true)
|
_plugin: function(can, value, meta, cb, target, field) { can.base.Copy(meta, value, true)
|
||||||
|
meta.name = meta.name||value&&value.meta&&value.meta.name||""
|
||||||
meta.type = meta.type||chat.STORY, meta.height = meta.height||can.ConfHeight(), meta.width = meta.width||can.ConfWidth()
|
meta.type = meta.type||chat.STORY, meta.height = meta.height||can.ConfHeight(), meta.width = meta.width||can.ConfWidth()
|
||||||
meta.args = can.base.getValid(can.base.Obj(meta.args), can.base.Obj(meta.arg), can.base.Obj(value.args), can.base.Obj(value.arg))||[]
|
meta.args = can.base.getValid(can.base.Obj(meta.args), can.base.Obj(meta.arg), can.base.Obj(value.args), can.base.Obj(value.arg))||[]
|
||||||
meta.inputs = can.base.getValid(meta.inputs, can.base.Obj(value.list))||[], meta.feature = can.base.getValid(meta.feature, can.base.Obj(value.meta))||{}
|
meta.inputs = can.base.getValid(meta.inputs, can.base.Obj(value.list))||[], meta.feature = can.base.getValid(meta.feature, can.base.Obj(value.meta))||{}
|
||||||
if (can.misc.Debug(can, chat.PLUGIN, meta.index, meta.args, meta)) { debugger }
|
|
||||||
can.onappend._init(can, meta, [chat.PLUGIN_STATE_JS], function(sub, skip) {
|
can.onappend._init(can, meta, [chat.PLUGIN_STATE_JS], function(sub, skip) {
|
||||||
sub.run = function(event, cmds, cb) { can.runActionCommand(event, sub._index, cmds, cb) }
|
sub.run = function(event, cmds, cb) { can.runActionCommand(event, sub._index, cmds, cb) }
|
||||||
sub._index = value.index||meta.index, can.base.isFunc(cb) && cb(sub, meta, skip)
|
sub._index = value.index||meta.index, can.base.isFunc(cb) && cb(sub, meta, skip)
|
||||||
@ -261,7 +262,9 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
plugin: function(can, meta, cb, target, field) { meta = meta||{}, meta.index = meta.index||can.core.Keys(meta.ctx, meta.cmd)||ice.CAN_PLUGIN
|
plugin: function(can, meta, cb, target, field) { meta = meta||{}, meta.index = meta.index||can.core.Keys(meta.ctx, meta.cmd)||ice.CAN_PLUGIN
|
||||||
var res = {}; function _cb(sub, meta, skip) { kit.proto(res, sub), cb && cb(sub, meta, skip) } if (can.misc.Debug(can, chat.PLUGIN, meta.index, meta.args, meta)) { debugger }
|
var res = {}; function _cb(sub, meta, skip) { kit.proto(res, sub), cb && cb(sub, meta, skip) } if (can.misc.Debug(can, chat.PLUGIN, meta.index, meta.args, meta)) { debugger }
|
||||||
if (meta.inputs && meta.inputs.length > 0 || meta.meta) { can.onappend._plugin(can, {meta: meta.meta, list: meta.list}, meta, _cb, target, field); return res }
|
if (meta.inputs && meta.inputs.length > 0 || meta.meta) { can.onappend._plugin(can, {meta: meta.meta, list: meta.list}, meta, _cb, target, field); return res }
|
||||||
var value = can.onengine.plugin(can, meta.index); if (value) { can.onappend._plugin(can, value, meta, _cb, target, field); return res }
|
var value = can.onengine.plugin(can, meta.index); if (value) { can.onappend._plugin(can, value, meta, function(sub, meta, skip) {
|
||||||
|
_cb(sub, meta, skip), can.onmotion.delay(can, function() { value.meta && value.meta._init && value.meta._init(sub, meta) })
|
||||||
|
}, target, field); return res }
|
||||||
can.runAction(can.request({}, meta), ctx.COMMAND, [meta.index], function(msg) { msg.Table(function(value) { can.onappend._plugin(can, value, meta, _cb, target, field) })}); return res
|
can.runAction(can.request({}, meta), ctx.COMMAND, [meta.index], function(msg) { msg.Table(function(value) { can.onappend._plugin(can, value, meta, _cb, target, field) })}); return res
|
||||||
},
|
},
|
||||||
_float: function(can, index, args) {
|
_float: function(can, index, args) {
|
||||||
|
@ -48,6 +48,7 @@ Volcanos("core", {
|
|||||||
} return begin >= 0 && (s? push({type: lang.STRING, text: str.slice(begin), left: s, right: ""}): push(str.slice(begin))), res
|
} return begin >= 0 && (s? push({type: lang.STRING, text: str.slice(begin), left: s, right: ""}): push(str.slice(begin))), res
|
||||||
},
|
},
|
||||||
SplitInput: function(item, type) { if (typeof item == lang.OBJECT) { return item } type = type||html.TEXT; switch (item) {
|
SplitInput: function(item, type) { if (typeof item == lang.OBJECT) { return item } type = type||html.TEXT; switch (item) {
|
||||||
|
case ice.RUN: return {type: type = html.BUTTON, name: item}
|
||||||
case mdb.LIST: return {type: type = html.BUTTON, name: item, action: ice.AUTO}
|
case mdb.LIST: return {type: type = html.BUTTON, name: item, action: ice.AUTO}
|
||||||
case ice.BACK: return {type: type = html.BUTTON, name: item}
|
case ice.BACK: return {type: type = html.BUTTON, name: item}
|
||||||
case mdb.NAME: return {type: type = html.TEXT, name: item}
|
case mdb.NAME: return {type: type = html.TEXT, name: item}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
Volcanos.meta.cache["/lib/lunar.js"] = []
|
||||||
var calendar = { // @1900-2100区间内的公历转农历
|
var calendar = { // @1900-2100区间内的公历转农历
|
||||||
solar2lunar: function(date) { var y = date.getFullYear(), m = date.getMonth()+1, d = date.getDate()
|
solar2lunar: function(date) { var y = date.getFullYear(), m = date.getMonth()+1, d = date.getDate()
|
||||||
var day = (Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) - Date.UTC(1900,0,31))/86400000
|
var day = (Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) - Date.UTC(1900,0,31))/86400000
|
||||||
|
@ -142,9 +142,6 @@ Volcanos("page", {ClassList: {
|
|||||||
inputs: function(can, list) {
|
inputs: function(can, list) {
|
||||||
var _list = []; for (var i = 0; i < list.length; i++) { switch (list[i]) {
|
var _list = []; for (var i = 0; i < list.length; i++) { switch (list[i]) {
|
||||||
case "": _list.push(""); break
|
case "": _list.push(""); break
|
||||||
case ice.RUN:
|
|
||||||
_list.push({type: html.BUTTON, name: ice.RUN})
|
|
||||||
break
|
|
||||||
case ice.AUTO:
|
case ice.AUTO:
|
||||||
_list.push({type: html.BUTTON, name: ice.LIST})
|
_list.push({type: html.BUTTON, name: ice.LIST})
|
||||||
_list.push({type: html.BUTTON, name: ice.BACK})
|
_list.push({type: html.BUTTON, name: ice.BACK})
|
||||||
|
@ -45,7 +45,7 @@ Volcanos("user", {info: {}, agent: {
|
|||||||
can.user.mod.isCmd && name.push(chat.SIMPLE)
|
can.user.mod.isCmd && name.push(chat.SIMPLE)
|
||||||
can.page.styleClass(can, can._root._target, name.join(ice.SP))
|
can.page.styleClass(can, can._root._target, name.join(ice.SP))
|
||||||
},
|
},
|
||||||
language: function(can) { return can.misc.Search(can, "language") },
|
language: function(can) { return can.misc.Search(can, "language")||can.user.info.language },
|
||||||
trans: function(can, text, list) { if (can.base.isFunc(text)) { text = text.name||"" }
|
trans: function(can, text, list) { if (can.base.isFunc(text)) { text = text.name||"" }
|
||||||
if (can.base.isObject(text)) { return can.core.Item(text, function(k, v) { can.core.Value(can._trans, k, v) }) }
|
if (can.base.isObject(text)) { return can.core.Item(text, function(k, v) { can.core.Value(can._trans, k, v) }) }
|
||||||
if (can.user.language(can) == "en") { return text } if (can.base.isString(list)) { return list }
|
if (can.user.language(can) == "en") { return text } if (can.base.isString(list)) { return list }
|
||||||
|
@ -203,7 +203,7 @@ Volcanos(chat.ONPLUGIN, {
|
|||||||
"command": shy("插件列表", {}, [], function(can, msg, arg) { var meta = can.onengine.plugin.meta
|
"command": shy("插件列表", {}, [], function(can, msg, arg) { var meta = can.onengine.plugin.meta
|
||||||
can.core.Item(arg[0] == ""? meta: meta[arg[0]]? kit.Dict(arg[0], meta[arg[0]]): {}, function(name, command) {
|
can.core.Item(arg[0] == ""? meta: meta[arg[0]]? kit.Dict(arg[0], meta[arg[0]]): {}, function(name, command) {
|
||||||
msg.Push(kit.Dict(ice.CTX, ice.CAN, ice.CMD, ctx.COMMAND,
|
msg.Push(kit.Dict(ice.CTX, ice.CAN, ice.CMD, ctx.COMMAND,
|
||||||
mdb.TYPE, ice.CAN, mdb.NAME, name, mdb.TEXT, command.help,
|
mdb.TYPE, ice.CAN, mdb.NAME, name||command.name, mdb.TEXT, command.help,
|
||||||
ctx.CONTEXT, ice.CAN, ctx.COMMAND, name, ctx.INDEX, can.core.Keys(ice.CAN, name),
|
ctx.CONTEXT, ice.CAN, ctx.COMMAND, name, ctx.INDEX, can.core.Keys(ice.CAN, name),
|
||||||
), msg.Option(ice.MSG_FIELDS).split(ice.FS))
|
), msg.Option(ice.MSG_FIELDS).split(ice.FS))
|
||||||
})
|
})
|
||||||
|
@ -6,7 +6,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
|||||||
},
|
},
|
||||||
_title: function(can, msg, target) { can.user.isMobile || can.core.List(msg.result, function(item) { can.page.Append(can, target, [{view: [chat.TITLE, html.DIV, item], title: "联系站长"}]) }) },
|
_title: function(can, msg, target) { can.user.isMobile || can.core.List(msg.result, function(item) { can.page.Append(can, target, [{view: [chat.TITLE, html.DIV, item], title: "联系站长"}]) }) },
|
||||||
_state: function(can, msg, target) {
|
_state: function(can, msg, target) {
|
||||||
can.core.List(can.base.Obj(can.Conf(chat.STATE)||msg.Option(chat.STATE), ["ncmd", "ntip"]), function(item) {
|
can.core.List(can.base.Obj(can.Conf(chat.STATE)||msg.Option(chat.STATE), ["ntip", "ncmd"]).reverse(), function(item) {
|
||||||
can.page.Append(can, target, [{view: [can.base.join([chat.STATE, item]), html.DIV, can.Conf(item)], list: [
|
can.page.Append(can, target, [{view: [can.base.join([chat.STATE, item]), html.DIV, can.Conf(item)], list: [
|
||||||
{text: [item, html.LABEL]}, {text: [": ", html.LABEL]}, {text: [can.Conf(item)||"", html.SPAN, item]},
|
{text: [item, html.LABEL]}, {text: [": ", html.LABEL]}, {text: [can.Conf(item)||"", html.SPAN, item]},
|
||||||
], onclick: function(event) { can.onexport[item](can) }}])
|
], onclick: function(event) { can.onexport[item](can) }}])
|
||||||
@ -45,14 +45,14 @@ Volcanos(chat.ONEXPORT, {height: function(can) { return can._target.offsetHeight
|
|||||||
return {text: [value, html.TD], onclick: function(event) { can.base.isFunc(cb) && cb(value, key, index, line, list) }}
|
return {text: [value, html.TD], onclick: function(event) { can.base.isFunc(cb) && cb(value, key, index, line, list) }}
|
||||||
}, ui.output), can.onappend.board(can, msg.Result(), ui.output); return ui
|
}, ui.output), can.onappend.board(can, msg.Result(), ui.output); return ui
|
||||||
},
|
},
|
||||||
ntip: function(can) { can.onexport.float(can, can._tips, "ntip", function(value, key, index, line) { can.onappend._float(can, "web.code.inner", ["usr/volcanos/"].concat(line.fileline.split(ice.DF))) }) },
|
ntip: function(can) { can.onexport.float(can, can._tips, "ntip", function(value, key, index, line) { can.onappend._float(can, web.CODE_INNER, [ice.USR_VOLCANOS].concat(line.fileline.split(ice.DF))) }) },
|
||||||
ncmd: function(can) { can.onexport.float(can, can._cmds, "ncmd", function(value, key, index, line) {
|
ncmd: function(can) { can.onexport.float(can, can._cmds, "ncmd", function(value, key, index, line) {
|
||||||
var cmds = can.base.Obj(line.cmds); switch (line.follow) {
|
var cmds = can.base.Obj(line.cmds); switch (line.follow) {
|
||||||
case "can.Action": cmds = cmds.slice(2); break
|
case "can.Action": cmds = cmds.slice(2); break
|
||||||
case "can.Footer": cmds = cmds.slice(2); break
|
case "can.Footer": cmds = cmds.slice(2); break
|
||||||
}
|
}
|
||||||
switch (cmds[0]) {
|
switch (cmds[0]) {
|
||||||
case "web.wiki.word": cmds = cmds.slice(5); break
|
case web.WIKI_WORD: cmds = cmds.slice(5); break
|
||||||
}
|
}
|
||||||
can.onappend._float(can, cmds[0], cmds.slice(1))
|
can.onappend._float(can, cmds[0], cmds.slice(1))
|
||||||
}) },
|
}) },
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
||||||
can.onimport._title(can, msg, target)
|
can.onimport._title(can, msg, target)
|
||||||
can.onimport._state(can, msg, target)
|
can.onimport._state(can, msg, target)
|
||||||
can.onimport._avatar(can, msg, target)
|
can.onimport._avatar(can, msg, target)
|
||||||
@ -12,7 +12,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, target)
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
_state: function(can, msg, target) { if (can.user.isMobile) { return }
|
_state: function(can, msg, target) { if (can.user.isMobile) { return }
|
||||||
can.core.List(can.base.Obj(can.Conf(chat.STATE)||msg.Option(chat.STATE), [aaa.USERNICK, mdb.TIME]).reverse(), function(item) {
|
can.core.List(can.base.Obj(can.Conf(chat.STATE)||msg.Option(chat.STATE), [aaa.AVATAR, aaa.USERNICK, mdb.TIME]).reverse(), function(item) {
|
||||||
if (item == aaa.AVATAR ) { if (can.user.isLocalFile) { return }
|
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.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, can.onexport.avatar(can), 160)])
|
can.onaction.carte(event, can, [can.page.Format(html.IMG, can.onexport.avatar(can), 160)])
|
||||||
@ -66,8 +66,8 @@ Volcanos(chat.ONACTION, {
|
|||||||
},
|
},
|
||||||
onmain: function(can, msg) { can.onimport.topic(can)
|
onmain: function(can, msg) { can.onimport.topic(can)
|
||||||
can.run({}, [], function(msg) { if (!can.Conf(aaa.USERNICK, msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME))) {
|
can.run({}, [], function(msg) { if (!can.Conf(aaa.USERNICK, msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME))) {
|
||||||
return 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 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"))
|
||||||
} can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.language = can.misc.Search(can, aaa.LANGUAGE)||msg.Option(aaa.LANGUAGE)
|
} can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.language = can.misc.Search(can, aaa.LANGUAGE)||msg.Option(aaa.LANGUAGE)
|
||||||
can.user.info.background = msg.Option(aaa.BACKGROUND), can.user.info.avatar = msg.Option(aaa.AVATAR)
|
can.user.info.background = msg.Option(aaa.BACKGROUND), can.user.info.avatar = msg.Option(aaa.AVATAR)
|
||||||
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) })
|
||||||
can.onmotion.clear(can), can.onimport._init(can, msg, can._output), can.ondaemon._init(can), can.onengine.signal(can, chat.ONLOGIN, msg)
|
can.onmotion.clear(can), can.onimport._init(can, msg, can._output), can.ondaemon._init(can), can.onengine.signal(can, chat.ONLOGIN, msg)
|
||||||
@ -107,8 +107,8 @@ Volcanos(chat.ONACTION, {
|
|||||||
password: function(event, can) { var ui = can.user.input(event, can, [{name: html.PASSWORD, type: html.PASSWORD, action: ice.AUTO}, {name: html.PASSWORD, type: html.PASSWORD, action: ice.AUTO}], function(list) {
|
password: function(event, can) { var ui = can.user.input(event, can, [{name: html.PASSWORD, type: html.PASSWORD, action: ice.AUTO}, {name: html.PASSWORD, type: html.PASSWORD, action: ice.AUTO}], function(list) {
|
||||||
if (list[0] != list[1]) { return can.user.toast(can, "密码不一致"), ui.focus(), true } can.runAction(event, aaa.PASSWORD, [list[0]])
|
if (list[0] != list[1]) { return can.user.toast(can, "密码不一致"), ui.focus(), true } can.runAction(event, aaa.PASSWORD, [list[0]])
|
||||||
}) },
|
}) },
|
||||||
chinese: function(event, can) { can.misc.Search(can, aaa.LANGUAGE, "zh") },
|
chinese: function(event, can) { can.runAction(event, aaa.LANGUAGE, ["zh"], function(msg) { can.user.reload() }) },
|
||||||
english: function(event, can) { can.misc.Search(can, aaa.LANGUAGE, "en") },
|
english: function(event, can) { can.runAction(event, aaa.LANGUAGE, ["en"], function(msg) { can.user.reload() }) },
|
||||||
clear: function(event, can) { can.onimport.background(event, can, ""), can.onimport.avatar(event, can, "") },
|
clear: function(event, can) { can.onimport.background(event, can, ""), can.onimport.avatar(event, can, "") },
|
||||||
logout: function(event, can) { can.user.logout(can) },
|
logout: function(event, can) { can.user.logout(can) },
|
||||||
})
|
})
|
||||||
@ -118,20 +118,22 @@ Volcanos(chat.ONEXPORT, {height: function(can) { return can._target.offsetHeight
|
|||||||
avatar: function(can) { return can.user.info.avatar == "void"? "": can.user.info.avatar },
|
avatar: function(can) { return can.user.info.avatar == "void"? "": can.user.info.avatar },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONPLUGIN, {
|
Volcanos(chat.ONPLUGIN, {
|
||||||
"title": shy("标题", {}, [chat.TITLE, ice.RUN], function(can, msg, cmds) { can.user.title(cmds[0]) }),
|
title: shy("标题", {}, [chat.TITLE, ice.LIST], function(can, msg, cmds) { msg.Echo(can.user.title(cmds[0])) }),
|
||||||
"topic": shy("主题", {}, ["topic:select=white,black", ice.RUN], function(can, msg, cmds) { can.onimport.topic(can, cmds[0]) }),
|
topic: shy("主题", {
|
||||||
"cookie": shy("参数", {}, [mdb.NAME, mdb.VALUE, ice.AUTO], function(can, msg, cmds) {
|
_init: function(can) { can.Option(chat.TOPIC, can.getHeader(chat.TOPIC)) },
|
||||||
can.core.Item(can.misc.Cookie(can), function(key, value) { if (cmds[0] && key != cmds[0]) { return }
|
}, ["topic:select=white,black", ice.RUN], function(can, msg, cmds) { msg.Echo(can.onimport.topic(can, cmds[0])) }),
|
||||||
msg.Push(mdb.NAME, key), msg.Push(mdb.VALUE, value)
|
alert: shy("提示", {}, [mdb.TEXT, ice.LIST], function(can, msg, cmds) { cmds && cmds[0] && can.user.alert(cmds[0]) }),
|
||||||
})
|
location: shy("地址", {
|
||||||
}),
|
|
||||||
"alert": shy("提示", {}, [mdb.TEXT, ice.AUTO], function(can, msg, cmds) { cmds && cmds[0] && can.user.alert(cmds[0]) }),
|
|
||||||
"log": shy("日志", {}, [mdb.TEXT, ice.AUTO], function(can, msg, cmds) { can.misc.Log(cmds) }),
|
|
||||||
"location": shy("地址", {
|
|
||||||
copy: function(can, msg, cmds) { can.user.copy(msg._event, can, location.href) },
|
copy: function(can, msg, cmds) { can.user.copy(msg._event, can, location.href) },
|
||||||
}, [mdb.LINK, ice.AUTO, ice.COPY], function(can, msg, cmds, cb) {
|
}, [mdb.LINK, ice.LIST, ice.COPY], function(can, msg, cmds, cb) {
|
||||||
can.run(can.request({}, mdb.LINK, location.href), [web.SHARE], function(res) {
|
can.run(can.request({}, mdb.LINK, location.href), [web.SHARE], function(res) {
|
||||||
msg.Echo(res.Append(mdb.TEXT)).Echo(ice.NL).Echo(can.page.Format(html.A, res.Append(mdb.NAME))), can.base.isFunc(cb) && cb(msg)
|
msg.Echo(res.Append(mdb.TEXT)).Echo(ice.NL).Echo(can.page.Format(html.A, res.Append(mdb.NAME))), can.base.isFunc(cb) && cb(msg)
|
||||||
})
|
})
|
||||||
}),
|
}),
|
||||||
})
|
cookie: shy("参数", {}, [mdb.NAME, mdb.VALUE, ice.LIST, ice.BACK], function(can, msg, cmds) {
|
||||||
|
can.core.Item(can.misc.Cookie(can), function(key, value) { if (cmds[0] && key != cmds[0]) { return }
|
||||||
|
msg.Push(mdb.NAME, key), msg.Push(mdb.VALUE, value)
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
log: shy("日志", {}, [mdb.TEXT, ice.LIST], function(can, msg, cmds) { can.misc.Log(cmds) }),
|
||||||
|
})
|
||||||
|
@ -52,7 +52,7 @@ Volcanos(chat.ONACTION, {_init: function(can) { can.onmotion.hidden(can) }, list
|
|||||||
|
|
||||||
plugin: function(event, can, index) { var line = can.list[index]; if (can.base.isFunc(line.text)) { return can.onmotion.hide(can), line.text(event) }
|
plugin: function(event, can, index) { var line = can.list[index]; 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)
|
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, {index: cmd||msg.Option(mdb.INDEX), args: cmd == "web.wiki.word"? [line.name]: []}, function(sub, meta) { can.onmotion.delay(can, function() { sub.Focus() }, 20)
|
can.onappend.plugin(can, {index: cmd||msg.Option(mdb.INDEX), args: cmd == web.WIKI_WORD? [line.name]: []}, function(sub, meta) { can.onmotion.delay(can, function() { sub.Focus() }, 20)
|
||||||
sub.onimport.size(sub, can.base.Min(320, can.ConfHeight()-html.ACTION_HEIGHT-can.ui.content.offsetHeight-can.ui.display.offsetHeight)-2*html.ACTION_HEIGHT-1, can.ConfWidth()-1, true)
|
sub.onimport.size(sub, can.base.Min(320, can.ConfHeight()-html.ACTION_HEIGHT-can.ui.content.offsetHeight-can.ui.display.offsetHeight)-2*html.ACTION_HEIGHT-1, can.ConfWidth()-1, true)
|
||||||
}, can.ui.profile)
|
}, can.ui.profile)
|
||||||
},
|
},
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
var meta = {}; msg.Table(function(value) { meta[value.key] = value.value })
|
var meta = {}; msg.Table(function(value) { meta[value.key] = value.value })
|
||||||
can._list = can.base.Obj(meta.text, {meta: {name: meta.name||html.DIV}, list: []})
|
can._list = can.base.Obj(meta.text, {meta: {name: meta.name||html.DIV}, list: []})
|
||||||
can.sup._keys = can.sup._keys||can._list.meta.name
|
can.sup._keys = can.sup._keys||can._list.meta.name
|
||||||
@ -53,7 +53,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
can.onimport._item(can, can._list.meta.name, can._list, can.ui.project, width, height)
|
can.onimport._item(can, can._list.meta.name, can._list, can.ui.project, width, height)
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
Volcanos(chat.ONACTION, {help: "操作数据",
|
Volcanos(chat.ONACTION, {
|
||||||
"添加": function(event, can) {
|
"添加": function(event, can) {
|
||||||
can.user.input(event, can, [mdb.NAME, ctx.INDEX, ctx.ARGS, ctx.STYLE, html.HEIGHT, html.WIDTH], function(data) {
|
can.user.input(event, can, [mdb.NAME, ctx.INDEX, ctx.ARGS, ctx.STYLE, html.HEIGHT, html.WIDTH], function(data) {
|
||||||
can.current._add({meta: data, list: []})
|
can.current._add({meta: data, list: []})
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) {
|
||||||
can.current = msg.TableDetail(), can.onimport.layout(can), can.base.isFunc(cb) && cb(msg)
|
can.current = msg.TableDetail(), can.onimport.layout(can), can.base.isFunc(cb) && cb(msg)
|
||||||
},
|
},
|
||||||
layout: function(can) { var item = can.current; can.onmotion.clear(can), can.onimport.title(can, item.name||item.link)
|
layout: function(can) { var item = can.current; can.onmotion.clear(can), can.onimport.title(can, item.name||item.link)
|
||||||
can.page.Append(can, can._output, [{type: html.IFRAME, src: item.link, height: can.ConfHeight(), width: can.ConfWidth(), style: {border: 0}}])
|
can.page.Append(can, can._output, [{type: html.IFRAME, src: item.link, height: can.ConfHeight(), width: can.ConfWidth(), style: {border: 0}}])
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "操作数据",
|
Volcanos(chat.ONACTION, {
|
||||||
open: function(can) { can.user.open(can.current.link) },
|
open: function(can) { can.user.open(can.current.link) },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONEXPORT, {help: "导出数据"})
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg) {
|
||||||
can.onappend.table(can, msg), can.onappend.board(can, msg)
|
can.onappend.table(can, msg), can.onappend.board(can, msg)
|
||||||
var meta = {}; msg.Table(function(value, key) { meta[value.key] = value.value })
|
var meta = {}; msg.Table(function(value, key) { meta[value.key] = value.value })
|
||||||
can.require(["/plugin/input/keyboard.js"], function() {
|
can.require(["/plugin/input/keyboard.js"], function() {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.onmotion.clear(can), can.onlayout.profile(can), can.base.isFunc(cb) && cb(msg)
|
can.onmotion.clear(can), can.onlayout.profile(can), can.base.isFunc(cb) && cb(msg)
|
||||||
!can.isCmdMode() && can.ConfHeight(window.innerHeight - 5*html.ACTION_HEIGHT - 5*html.PLUGIN_MARGIN)
|
!can.isCmdMode() && can.ConfHeight(window.innerHeight - 5*html.ACTION_HEIGHT - 5*html.PLUGIN_MARGIN)
|
||||||
can.user.isMobile && can.ConfHeight(window.innerHeight-html.ACTION_HEIGHT)
|
can.user.isMobile && can.ConfHeight(window.innerHeight-html.ACTION_HEIGHT)
|
||||||
@ -242,7 +242,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
return new myInfoWindow({map: can.map, position: can.onimport.point(can, item), meta: meta})
|
return new myInfoWindow({map: can.map, position: can.onimport.point(can, item), meta: meta})
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "操作数据", list: [["mode", "select", "insert"],
|
Volcanos(chat.ONACTION, {list: [["mode", "select", "insert"],
|
||||||
{type: html.TEXT, name: "zoom", value: 17, range: [3, 21]},
|
{type: html.TEXT, name: "zoom", value: 17, range: [3, 21]},
|
||||||
{type: html.TEXT, name: "pitch", value: 30, range: [0, 80, 5]},
|
{type: html.TEXT, name: "pitch", value: 30, range: [0, 80, 5]},
|
||||||
{type: html.TEXT, name: "rotation", value: "0", range: [0, 360, 10]},
|
{type: html.TEXT, name: "rotation", value: "0", range: [0, 360, 10]},
|
||||||
@ -290,7 +290,7 @@ Volcanos(chat.ONACTION, {help: "操作数据", list: [["mode", "select", "insert
|
|||||||
return can.base.Copy({left: rect.left+event.point.x, bottom: rect.top+event.point.y, latitude: parseInt(event.latLng.lat*100000), longitude: parseInt(event.latLng.lng*100000)}, item, true)
|
return can.base.Copy({left: rect.left+event.point.x, bottom: rect.top+event.point.y, latitude: parseInt(event.latLng.lat*100000), longitude: parseInt(event.latLng.lng*100000)}, item, true)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: ["nation", "province", "city", "latitude", "longitude", "type", "name", "text"],
|
Volcanos(chat.ONEXPORT, {list: ["nation", "province", "city", "latitude", "longitude", "type", "name", "text"],
|
||||||
point: function(can, point, item) { return can.base.Copy({latitude: parseInt(point.lat*100000), longitude: parseInt(point.lng*100000)}, item, true) },
|
point: function(can, point, item) { return can.base.Copy({latitude: parseInt(point.lat*100000), longitude: parseInt(point.lng*100000)}, item, true) },
|
||||||
center: function(can) { return can.onexport.point(can, can.map.getCenter()) },
|
center: function(can) { return can.onexport.point(can, can.map.getCenter()) },
|
||||||
current: function(can) {
|
current: function(can) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.ui = can.onlayout.display(can, target)
|
can.ui = can.onlayout.display(can, target)
|
||||||
can.ui.canvas = can.page.Append(can, can.ui.display, [{type: "canvas", width: 320, height: 240, style: {display: "none"}}])._target
|
can.ui.canvas = can.page.Append(can, can.ui.display, [{type: "canvas", width: 320, height: 240, style: {display: "none"}}])._target
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, ta
|
|||||||
can.base.isFunc(cb) && cb(msg)
|
can.base.isFunc(cb) && cb(msg)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "操作数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONACTION, {_init: function(can, msg, cb, target) {
|
||||||
},
|
},
|
||||||
|
|
||||||
open: function(event, can) {
|
open: function(event, can) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.onmotion.clear(can)
|
can.onmotion.clear(can)
|
||||||
can.from = can.onimport._plugin(can, nfs.DIR, html.LEFT, "from", "to")
|
can.from = can.onimport._plugin(can, nfs.DIR, html.LEFT, "from", "to")
|
||||||
can.to = can.onimport._plugin(can, nfs.DIR, html.RIGHT, "to", "from")
|
can.to = can.onimport._plugin(can, nfs.DIR, html.RIGHT, "to", "from")
|
||||||
@ -21,7 +21,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "操作数据",
|
Volcanos(chat.ONACTION, {
|
||||||
send: function(can, from, to, event, cmds, cb) { var _from = can[from], _to = can[to]
|
send: function(can, from, to, event, cmds, cb) { var _from = can[from], _to = can[to]
|
||||||
var path = can.request(event).Option(nfs.PATH)
|
var path = can.request(event).Option(nfs.PATH)
|
||||||
var msg = can.request(event, {_handle: ice.TRUE,
|
var msg = can.request(event, {_handle: ice.TRUE,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据",
|
Volcanos(chat.ONIMPORT, {
|
||||||
_tabs: function(can) {
|
_tabs: function(can) {
|
||||||
can.ui._tabs = can.page.insertBefore(can, ["tabs"], can.ui._content), can.ui._path = can.page.insertBefore(can, ["path"], can.ui._content)
|
can.ui._tabs = can.page.insertBefore(can, ["tabs"], can.ui._content), can.ui._path = can.page.insertBefore(can, ["path"], can.ui._content)
|
||||||
can.page.Append(can, can.ui._tabs, [{view: [["time", "select"]], style: {"float": html.RIGHT}, _init: function(target) {
|
can.page.Append(can, can.ui._tabs, [{view: [["time", "select"]], style: {"float": html.RIGHT}, _init: function(target) {
|
||||||
@ -98,7 +98,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据",
|
|||||||
return can.Status("跳转数", can.history.length), record
|
return can.Status("跳转数", can.history.length), record
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
Volcanos(chat.ONFIGURE, {help: "索引导航",
|
Volcanos(chat.ONFIGURE, {
|
||||||
source: function(can, target, zone, path) { var total = 0
|
source: function(can, target, zone, path) { var total = 0
|
||||||
function show(target, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) { var list = msg.Table()
|
function show(target, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) { var list = msg.Table()
|
||||||
can.onimport.tree(can, list, nfs.PATH, ice.PS, function(event, item) { can.onimport.tabview(can, path, item.path) }, target)
|
can.onimport.tree(can, list, nfs.PATH, ice.PS, function(event, item) { can.onimport.tabview(can, path, item.path) }, target)
|
||||||
@ -114,7 +114,7 @@ Volcanos(chat.ONFIGURE, {help: "索引导航",
|
|||||||
}, target), zone._total(total)
|
}, target), zone._total(total)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONSYNTAX, {help: "语法高亮", _init: function(can, msg, cb) {
|
Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) {
|
||||||
if (can.onmotion.cache(can, function(cache_data) {
|
if (can.onmotion.cache(can, function(cache_data) {
|
||||||
can.file && (cache_data[can.file] = {current: can.current, max: can.max, profile_display: can.ui.profile.style.display, display_display: can.ui.display.style.display})
|
can.file && (cache_data[can.file] = {current: can.current, max: can.max, profile_display: can.ui.profile.style.display, display_display: can.ui.display.style.display})
|
||||||
can.file = can.onexport.keys(can, can.Option(nfs.PATH), can.Option(nfs.FILE))
|
can.file = can.onexport.keys(can, can.Option(nfs.PATH), can.Option(nfs.FILE))
|
||||||
@ -189,10 +189,10 @@ Volcanos(chat.ONSYNTAX, {help: "语法高亮", _init: function(can, msg, cb) {
|
|||||||
return line
|
return line
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONENGINE, {help: "搜索引擎",
|
Volcanos(chat.ONENGINE, {
|
||||||
listen: shy("监听事件", function(can, key, cb) { arguments.callee.meta[key] = (arguments.callee.meta[key]||[]).concat(cb) }),
|
listen: shy("监听事件", function(can, key, cb) { arguments.callee.meta[key] = (arguments.callee.meta[key]||[]).concat(cb) }),
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "控件交互",
|
Volcanos(chat.ONACTION, {
|
||||||
appendLine: function(can, value) {
|
appendLine: function(can, value) {
|
||||||
var ui = can.page.Append(can, can.ui._content, [{type: html.TR, list: [
|
var ui = can.page.Append(can, can.ui._content, [{type: html.TR, list: [
|
||||||
{view: ["line unselectable", html.TD, ++can.max], onclick: function(event) {
|
{view: ["line unselectable", html.TD, ++can.max], onclick: function(event) {
|
||||||
@ -246,7 +246,7 @@ Volcanos(chat.ONACTION, {help: "控件交互",
|
|||||||
},
|
},
|
||||||
back: function(can) { can.history.pop(); var last = can.history.pop(); last && can.onimport.tabview(can, last.path, last.file, last.line) },
|
back: function(can) { can.history.pop(); var last = can.history.pop(); last && can.onimport.tabview(can, last.path, last.file, last.line) },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: ["文件数", "解析器", "文件名", "当前行", "跳转数"],
|
Volcanos(chat.ONEXPORT, {list: ["文件数", "解析器", "文件名", "当前行", "跳转数"],
|
||||||
hash: function(can) { if (!can.isCmdMode()) { return }
|
hash: function(can) { if (!can.isCmdMode()) { return }
|
||||||
var list = []; if (can.Option(nfs.PATH) != can.misc.Search(can, nfs.PATH)) { list.push(can.Option(nfs.PATH)) }
|
var list = []; if (can.Option(nfs.PATH) != can.misc.Search(can, nfs.PATH)) { list.push(can.Option(nfs.PATH)) }
|
||||||
if (list.length > 0 || can.Option(nfs.FILE) != can.misc.Search(can, nfs.FILE)) { list.push(can.Option(nfs.FILE)) }
|
if (list.length > 0 || can.Option(nfs.FILE) != can.misc.Search(can, nfs.FILE)) { list.push(can.Option(nfs.FILE)) }
|
||||||
@ -260,7 +260,7 @@ Volcanos(chat.ONEXPORT, {help: "导出数据", list: ["文件数", "解析器",
|
|||||||
line: function(can, line) { return parseInt(can.core.Value(can.page.Select(can, line, "td.line")[0], "innerText")) },
|
line: function(can, line) { return parseInt(can.core.Value(can.page.Select(can, line, "td.line")[0], "innerText")) },
|
||||||
})
|
})
|
||||||
|
|
||||||
Volcanos(chat.ONIMPORT, {help: "导入数据",
|
Volcanos(chat.ONIMPORT, {
|
||||||
_profile: function(can, target) {
|
_profile: function(can, target) {
|
||||||
var ui = can.onimport._panel(can, target, kit.Dict(
|
var ui = can.onimport._panel(can, target, kit.Dict(
|
||||||
mdb.LINK, function(event) {
|
mdb.LINK, function(event) {
|
||||||
@ -335,7 +335,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据",
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
Volcanos(chat.ONACTION, {help: "控件交互", _trans: {link: "链接", width: "宽度", height: "高度"},
|
Volcanos(chat.ONACTION, {_trans: {link: "链接", width: "宽度", height: "高度"},
|
||||||
"搜索": function(event, can) {
|
"搜索": function(event, can) {
|
||||||
can.user.input(event, can, [mdb.NAME, [ctx.ACTION, nfs.TAGS, cli.MAKE, nfs.GREP]], function(data) {
|
can.user.input(event, can, [mdb.NAME, [ctx.ACTION, nfs.TAGS, cli.MAKE, nfs.GREP]], function(data) {
|
||||||
can.ui.search.Update({}, [ctx.ACTION, data.action, data.name])
|
can.ui.search.Update({}, [ctx.ACTION, data.action, data.name])
|
||||||
@ -369,7 +369,7 @@ Volcanos(chat.ONACTION, {help: "控件交互", _trans: {link: "链接", width: "
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
Volcanos(chat.ONIMPORT, {help: "导入数据",
|
Volcanos(chat.ONIMPORT, {
|
||||||
_keydown: function(can) { if (!can.isCmdMode()) { return }
|
_keydown: function(can) { if (!can.isCmdMode()) { return }
|
||||||
can.onkeymap._build(can), can._root.onengine.listen(can, chat.ONKEYDOWN, function(event) {
|
can.onkeymap._build(can), can._root.onengine.listen(can, chat.ONKEYDOWN, function(event) {
|
||||||
if (event.ctrlKey && event.key >= "0" && event.key <= "9") {
|
if (event.ctrlKey && event.key >= "0" && event.key <= "9") {
|
||||||
@ -379,7 +379,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据",
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONKEYMAP, {help: "导入数据",
|
Volcanos(chat.ONKEYMAP, {
|
||||||
_mode: {
|
_mode: {
|
||||||
plugin: {
|
plugin: {
|
||||||
Escape: shy("切换模式", function(event, can) { can.onaction.clear(event, can) }),
|
Escape: shy("切换模式", function(event, can) { can.onaction.clear(event, can) }),
|
||||||
@ -394,7 +394,7 @@ Volcanos(chat.ONKEYMAP, {help: "导入数据",
|
|||||||
}, _engine: {},
|
}, _engine: {},
|
||||||
})
|
})
|
||||||
|
|
||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.onmotion.clear(can), can.page.ClassList.add(can, can._fields, code.INNER), can.onlayout.profile(can)
|
can.onmotion.clear(can), can.page.ClassList.add(can, can._fields, code.INNER), can.onlayout.profile(can)
|
||||||
can.onimport._profile(can, can.ui.profile), can.onimport._display(can, can.ui.display)
|
can.onimport._profile(can, can.ui.profile), can.onimport._display(can, can.ui.display)
|
||||||
if (msg.Result() == "" && can.Option(nfs.LINE) == "1") { return }
|
if (msg.Result() == "" && can.Option(nfs.LINE) == "1") { return }
|
||||||
@ -516,7 +516,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
Volcanos(chat.ONACTION, {help: "控件交互", list: [],
|
Volcanos(chat.ONACTION, {list: [],
|
||||||
sess: function(event, can) { can.onexport.sess(can), can.user.toastSuccess(can) },
|
sess: function(event, can) { can.onexport.sess(can), can.user.toastSuccess(can) },
|
||||||
listTags: function(event, can, button) { var list = []
|
listTags: function(event, can, button) { var list = []
|
||||||
can.core.Item(can.request(event), function(key, value) { if (key.indexOf("_") == 0) { return }
|
can.core.Item(can.request(event), function(key, value) { if (key.indexOf("_") == 0) { return }
|
||||||
@ -534,7 +534,7 @@ Volcanos(chat.ONACTION, {help: "控件交互", list: [],
|
|||||||
can.runAction(can.request(event, {text: can.base.Format(list)}), button)
|
can.runAction(can.request(event, {text: can.base.Format(list)}), button)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONEXPORT, {help: "导出数据",
|
Volcanos(chat.ONEXPORT, {
|
||||||
sess: function(can) { can.misc.localStorage(can, "web.code.inner.sess", {"plug": can.onexport.plug(can), "exts": can.onexport.exts(can), "tabs": can.onexport.tabs(can)}) },
|
sess: function(can) { can.misc.localStorage(can, "web.code.inner.sess", {"plug": can.onexport.plug(can), "exts": can.onexport.exts(can), "tabs": can.onexport.tabs(can)}) },
|
||||||
tabs: function(can) { return can.core.Item(can.tabview, function(key, msg) { return key+ice.DF+can.Option(nfs.LINE) }) },
|
tabs: function(can) { return can.core.Item(can.tabview, function(key, msg) { return key+ice.DF+can.Option(nfs.LINE) }) },
|
||||||
plug: function(can) { return can.core.Item(can.toolkit) },
|
plug: function(can) { return can.core.Item(can.toolkit) },
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, cb) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, cb) {
|
||||||
can.onimport.toolkit(can, {index: "web.code.favor"}, function(sub) {
|
can.onimport.toolkit(can, {index: "web.code.favor"}, function(sub) {
|
||||||
sub.run = function(event, cmds, cb) { var msg = can.request(event)
|
sub.run = function(event, cmds, cb) { var msg = can.request(event)
|
||||||
if (can.misc.runAction(can, msg, cmds, cb, kit.Dict(
|
if (can.misc.runAction(can, msg, cmds, cb, kit.Dict(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, args, cb) { var SESS = "web.code.sess"
|
Volcanos(chat.ONIMPORT, {_init: function(can, args, cb) { var SESS = "web.code.sess"
|
||||||
can.onimport.toolkit(can, {index: SESS}, function(sub) {
|
can.onimport.toolkit(can, {index: SESS}, function(sub) {
|
||||||
sub.run = function(event, cmds, cb) { var msg = can.request(event)
|
sub.run = function(event, cmds, cb) { var msg = can.request(event)
|
||||||
if (can.misc.runAction(can, msg, cmds, cb, kit.Dict(
|
if (can.misc.runAction(can, msg, cmds, cb, kit.Dict(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONSYNTAX, {help: "语法高亮",
|
Volcanos(chat.ONSYNTAX, {
|
||||||
makefile: {
|
makefile: {
|
||||||
prefix: {
|
prefix: {
|
||||||
"#": code.COMMENT,
|
"#": code.COMMENT,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, args, cb) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, args, cb) {
|
||||||
can.onimport.toolkit(can, {index: "web.code.template"}, function(sub) {
|
can.onimport.toolkit(can, {index: "web.code.template"}, function(sub) {
|
||||||
sub.run = function(event, cmds, cb) { var msg = sub.request(event, can.Option())
|
sub.run = function(event, cmds, cb) { var msg = sub.request(event, can.Option())
|
||||||
if (can.misc.runAction(can, msg, cmds, cb, kit.Dict(
|
if (can.misc.runAction(can, msg, cmds, cb, kit.Dict(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.require(["inner.js"], function(can) { can.onimport.inner_init(can, msg, function() { can.undo = [], can.redo = []
|
can.require(["inner.js"], function(can) { can.onimport.inner_init(can, msg, function() { can.undo = [], can.redo = []
|
||||||
can.page.ClassList.add(can, can._fields, code.VIMER)
|
can.page.ClassList.add(can, can._fields, code.VIMER)
|
||||||
can.onimport._input(can), can.onkeymap._build(can), can.onkeymap._plugin({}, can)
|
can.onimport._input(can), can.onkeymap._build(can), can.onkeymap._plugin({}, can)
|
||||||
@ -25,7 +25,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
]); can.ui.current = ui.current, can.ui.complete = ui.complete
|
]); can.ui.current = ui.current, can.ui.complete = ui.complete
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
Volcanos(chat.ONFIGURE, {help: "索引导航",
|
Volcanos(chat.ONFIGURE, {
|
||||||
create: function(can, target, zone, path) {
|
create: function(can, target, zone, path) {
|
||||||
can.isCmdMode()? can.onappend._action(can, can.base.Obj(can._msg.Option(ice.MSG_ACTION)).concat(
|
can.isCmdMode()? can.onappend._action(can, can.base.Obj(can._msg.Option(ice.MSG_ACTION)).concat(
|
||||||
["查找", "git", "首页", "官网" , "文档" , "百度"], window.webview? ["浏览器", "录屏", "编辑器", "日志"]: [],
|
["查找", "git", "首页", "官网" , "文档" , "百度"], window.webview? ["浏览器", "录屏", "编辑器", "日志"]: [],
|
||||||
@ -98,7 +98,7 @@ Volcanos(chat.ONFIGURE, {help: "索引导航",
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
Volcanos(chat.ONKEYMAP, {
|
||||||
_model: function(can, value) { can.Status("模式", can.mode = value)
|
_model: function(can, value) { can.Status("模式", can.mode = value)
|
||||||
can.page.styleClass(can, can.ui.current, ["current", can.mode]), value
|
can.page.styleClass(can, can.ui.current, ["current", can.mode]), value
|
||||||
can.page.styleClass(can, can.ui.complete, [code.COMPLETE, can.mode]), value
|
can.page.styleClass(can, can.ui.complete, [code.COMPLETE, can.mode]), value
|
||||||
@ -237,7 +237,7 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
|||||||
},
|
},
|
||||||
}, _engine: {},
|
}, _engine: {},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "控件交互",
|
Volcanos(chat.ONACTION, {
|
||||||
_daemon: function(event, can, arg) {
|
_daemon: function(event, can, arg) {
|
||||||
switch (arg[0]) {
|
switch (arg[0]) {
|
||||||
case web.DREAM:
|
case web.DREAM:
|
||||||
@ -498,8 +498,8 @@ Volcanos(chat.ONACTION, {help: "控件交互",
|
|||||||
can.onaction.selectLine(can, can.current.next()), can.onkeymap.cursorMove(target, 0, p)
|
can.onaction.selectLine(can, can.current.next()), can.onkeymap.cursorMove(target, 0, p)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: ["文件数", "模式", "按键", "解析器", "文件名", "当前行", "跳转数"]})
|
Volcanos(chat.ONEXPORT, {list: ["文件数", "模式", "按键", "解析器", "文件名", "当前行", "跳转数"]})
|
||||||
Volcanos(chat.ONPLUGIN, {help: "注册插件",
|
Volcanos(chat.ONPLUGIN, {
|
||||||
"code.vimer.keymap": shy("按键", {}, ["mode", "key", ice.LIST, ice.BACK], function(can, msg, cmds) {
|
"code.vimer.keymap": shy("按键", {}, ["mode", "key", ice.LIST, ice.BACK], function(can, msg, cmds) {
|
||||||
can.core.Item(can.onkeymap._mode, function(mode, value) {
|
can.core.Item(can.onkeymap._mode, function(mode, value) {
|
||||||
(!cmds[0] || cmds[0] == mode) && can.core.Item(value, function(key, func) {
|
(!cmds[0] || cmds[0] == mode) && can.core.Item(value, function(key, func) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb) { can.onmotion.clear(can)
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { can.onmotion.clear(can)
|
||||||
can.onlayout._init(can)
|
can.onlayout._init(can)
|
||||||
can.requireModules(["xterm/css/xterm.css", "xterm", "xterm-addon-fit", "xterm-addon-web-links"], function() {
|
can.requireModules(["xterm/css/xterm.css", "xterm", "xterm-addon-fit", "xterm-addon-web-links"], function() {
|
||||||
var item = {hash: can.Option(mdb.HASH)}; msg.Table(function(value) { can.core.Value(item, value.key, value.value) })
|
var item = {hash: can.Option(mdb.HASH)}; msg.Table(function(value) { can.core.Value(item, value.key, value.value) })
|
||||||
@ -31,7 +31,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb) { c
|
|||||||
},
|
},
|
||||||
grow: function(can, msg) { can._current.write(msg.Option(mdb.TEXT)) },
|
grow: function(can, msg) { can._current.write(msg.Option(mdb.TEXT)) },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONLAYOUT, {help: "界面布局",
|
Volcanos(chat.ONLAYOUT, {
|
||||||
_init: function(can) {
|
_init: function(can) {
|
||||||
can.page.style(can, can._output, html.HEIGHT, can.ConfHeight()+8, html.WIDTH, can.ConfWidth()+18, html.MAX_WIDTH, "")
|
can.page.style(can, can._output, html.HEIGHT, can.ConfHeight()+8, html.WIDTH, can.ConfWidth()+18, html.MAX_WIDTH, "")
|
||||||
can._current && can._current._fit.fit(), can.onexport.term(can)
|
can._current && can._current._fit.fit(), can.onexport.term(can)
|
||||||
@ -40,12 +40,12 @@ Volcanos(chat.ONLAYOUT, {help: "界面布局",
|
|||||||
// can.Option(mdb.HASH) && can.Option(mdb.HASH) == can.misc.Search(can, mdb.HASH)? can.sup.onaction.full({}, can.sup): can.onlayout._init(can)
|
// can.Option(mdb.HASH) && can.Option(mdb.HASH) == can.misc.Search(can, mdb.HASH)? can.sup.onaction.full({}, can.sup): can.onlayout._init(can)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "操作数据",
|
Volcanos(chat.ONACTION, {
|
||||||
refresh: function(event, can, button) { can.onlayout._init(can), can._current.focus() },
|
refresh: function(event, can, button) { can.onlayout._init(can), can._current.focus() },
|
||||||
"波浪线": function(event, can, button) { can.onimport._input(can, "~"), can._current.focus() },
|
"波浪线": function(event, can, button) { can.onimport._input(can, "~"), can._current.focus() },
|
||||||
"反引号": function(event, can, button) { can.onimport._input(can, "`"), can._current.focus() },
|
"反引号": function(event, can, button) { can.onimport._input(can, "`"), can._current.focus() },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [mdb.TYPE, mdb.NAME, "rows", "cols", "cursorY", "cursorX"],
|
Volcanos(chat.ONEXPORT, {list: [mdb.TYPE, mdb.NAME, "rows", "cols", "cursorY", "cursorX"],
|
||||||
term: function(can) { var term = can._current||{}, item = term._item; if (!item) { return }
|
term: function(can) { var term = can._current||{}, item = term._item; if (!item) { return }
|
||||||
can.core.List(can.onexport.list, function(key) {
|
can.core.List(can.onexport.list, function(key) {
|
||||||
can.Status(key, can.base.getValid(item[key], term[key], term.buffer.active[key], ""))
|
can.Status(key, can.base.getValid(item[key], term[key], term.buffer.active[key], ""))
|
||||||
|
@ -329,7 +329,7 @@ Volcanos(chat.ONFIGURE, {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}, [])
|
}, [])
|
||||||
Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
Volcanos(chat.ONKEYMAP, {
|
||||||
_mode: {
|
_mode: {
|
||||||
normal: {
|
normal: {
|
||||||
Escape: function(event, can) { can._undo && can._undo(), can.points = [] },
|
Escape: function(event, can) { can._undo && can._undo(), can.points = [] },
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos("heart", {help: "心形",
|
Volcanos("heart", {
|
||||||
data: {name: "path", size: {},
|
data: {name: "path", size: {},
|
||||||
copy: ["d", "name", "meta", "tt", "xx", "yy"],
|
copy: ["d", "name", "meta", "tt", "xx", "yy"],
|
||||||
x: function(event, can, value, cmd, target) {
|
x: function(event, can, value, cmd, target) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONFIGURE, {help: "图形绘制",
|
Volcanos(chat.ONFIGURE, {
|
||||||
path2v: { // <path d="M x0,y0 Q x2,y2 x3,y3 T x1,y1"/>
|
path2v: { // <path d="M x0,y0 Q x2,y2 x3,y3 T x1,y1"/>
|
||||||
data: {name: "path", size: {}, copy: []},
|
data: {name: "path", size: {}, copy: []},
|
||||||
draw: function(event, can, point) {
|
draw: function(event, can, point) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据",
|
Volcanos(chat.ONIMPORT, {
|
||||||
init: function(can, msg, cb, output, action, option) {output.innerHTML = "";
|
init: function(can, msg, cb, output, action, option) {output.innerHTML = "";
|
||||||
if (!msg.result || msg.result.length == 0) {
|
if (!msg.result || msg.result.length == 0) {
|
||||||
var table = can.page.AppendTable(can, msg, output, msg.append);
|
var table = can.page.AppendTable(can, msg, output, msg.append);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, target) { can.onmotion.clear(can)
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(can)
|
||||||
can.page.Modify(can, target, msg.Result())
|
can.page.Modify(can, target, msg.Result())
|
||||||
can.page.Select(can, target, wiki.STORY_ITEM, function(target) { var meta = target.dataset||{}
|
can.page.Select(can, target, wiki.STORY_ITEM, function(target) { var meta = target.dataset||{}
|
||||||
can.core.CallFunc([can.onimport, meta.type||target.tagName.toLowerCase()], [can, meta, target])
|
can.core.CallFunc([can.onimport, meta.type||target.tagName.toLowerCase()], [can, meta, target])
|
||||||
@ -117,7 +117,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, target)
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
Volcanos(chat.ONKEYMAP, {
|
||||||
_mode: {
|
_mode: {
|
||||||
normal: {
|
normal: {
|
||||||
"n": function(event, can) { can.ondetail.next(can.sub) },
|
"n": function(event, can) { can.ondetail.next(can.sub) },
|
||||||
@ -132,7 +132,7 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
|||||||
},
|
},
|
||||||
}, _engine: {},
|
}, _engine: {},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "控件交互",
|
Volcanos(chat.ONACTION, {
|
||||||
_trans: {view: "视图"},
|
_trans: {view: "视图"},
|
||||||
play: function(event, can) { var list = [], current = []
|
play: function(event, can) { var list = [], current = []
|
||||||
can.page.Select(can, can._output, wiki.STORY_ITEM, function(item) {
|
can.page.Select(can, can._output, wiki.STORY_ITEM, function(item) {
|
||||||
@ -186,7 +186,7 @@ Volcanos(chat.ONACTION, {help: "控件交互",
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONDETAIL, {help: "交互操作", list: ["删除"],
|
Volcanos(chat.ONDETAIL, {list: ["删除"],
|
||||||
show: function(sub, which) { sub.page.styleClass(sub, sub.ui.content, chat.CONTENT)
|
show: function(sub, which) { sub.page.styleClass(sub, sub.ui.content, chat.CONTENT)
|
||||||
sub.page.Select(sub, sub.ui.content, html.DIV_PAGE, function(page, index) {
|
sub.page.Select(sub, sub.ui.content, html.DIV_PAGE, function(page, index) {
|
||||||
if (index == which || page == which) {
|
if (index == which || page == which) {
|
||||||
|
@ -215,7 +215,7 @@ Volcanos(chat.ONEXPORT, {
|
|||||||
actionHeight: function(can) { return can._action.style.display == html.NONE || can._action.innerHTML == ""? 0: html.ACTION_HEIGHT },
|
actionHeight: function(can) { return can._action.style.display == html.NONE || can._action.innerHTML == ""? 0: html.ACTION_HEIGHT },
|
||||||
record: function(can, line) {},
|
record: function(can, line) {},
|
||||||
link: function(can) { var meta = can.Conf(), args = can.Option()
|
link: function(can) { var meta = can.Conf(), args = can.Option()
|
||||||
args.cmd = meta.index||can.core.Keys(meta.ctx, meta.cmd), args.cmd == "web.wiki.word" && (args.cmd = args.path)
|
args.cmd = meta.index||can.core.Keys(meta.ctx, meta.cmd), args.cmd == web.WIKI_WORD && (args.cmd = args.path)
|
||||||
return can.misc.MergePodCmd(can, args, true)
|
return can.misc.MergePodCmd(can, args, true)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.page.ClassList.add(can, target, "form")
|
can.page.ClassList.add(can, target, "form")
|
||||||
msg.Push("type", "text")
|
msg.Push("type", "text")
|
||||||
msg.Push("name", "name")
|
msg.Push("name", "name")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.page.ClassList.add(can, target, "json")
|
can.page.ClassList.add(can, target, "json")
|
||||||
can.onmotion.clear(can, target)
|
can.onmotion.clear(can, target)
|
||||||
can.onappend.table(can, msg), can.onimport.show(can, can.base.Obj(msg.Result(), {}), target)
|
can.onappend.table(can, msg), can.onimport.show(can, can.base.Obj(msg.Result(), {}), target)
|
||||||
@ -43,7 +43,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
}; show(data, can.page.Append(can, target, [{view: html.ITEM}]).item, 0, 0)
|
}; show(data, can.page.Append(can, target, [{view: html.ITEM}]).item, 0, 0)
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
Volcanos(chat.ONACTION, {help: "组件菜单", list: ["展开", "折叠", "复制"],
|
Volcanos(chat.ONACTION, {list: ["展开", "折叠", "复制"],
|
||||||
"展开": function(event, can) {
|
"展开": function(event, can) {
|
||||||
can.page.Select(can, can._output, [html.DIV_LIST, html.DIV_LIST], function(list) {
|
can.page.Select(can, can._output, [html.DIV_LIST, html.DIV_LIST], function(list) {
|
||||||
can.onmotion.toggle(can, list, true)
|
can.onmotion.toggle(can, list, true)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.onmotion.clear(can, target), can.base.isFunc(cb) && cb(msg)
|
can.onmotion.clear(can, target), can.base.isFunc(cb) && cb(msg)
|
||||||
can.requireModules(["gifshot/dist/gifshot.js"], function() {
|
can.requireModules(["gifshot/dist/gifshot.js"], function() {
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
return src
|
return src
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "操作数据", list: ["录屏", "摄像"],
|
Volcanos(chat.ONACTION, {list: ["录屏", "摄像"],
|
||||||
"录屏": function(event, can) {
|
"录屏": function(event, can) {
|
||||||
can.onimport._layout(can, function(target) {
|
can.onimport._layout(can, function(target) {
|
||||||
navigator.mediaDevices.getDisplayMedia({video: {height: can.ConfHeight()*3/4}}).then(function(stream) { can.stream = stream
|
navigator.mediaDevices.getDisplayMedia({video: {height: can.ConfHeight()*3/4}}).then(function(stream) { can.stream = stream
|
||||||
@ -71,7 +71,7 @@ Volcanos(chat.ONACTION, {help: "操作数据", list: ["录屏", "摄像"],
|
|||||||
can.onmotion.clear(can, can.ui.output), can.onimport._action(can)
|
can.onmotion.clear(can, can.ui.output), can.onimport._action(can)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONDETAIL, {help: "操作数据", list: ["关闭", "抓拍", "录制"],
|
Volcanos(chat.ONDETAIL, {list: ["关闭", "抓拍", "录制"],
|
||||||
"成图": function(event, can) {
|
"成图": function(event, can) {
|
||||||
gifshot.createGIF({
|
gifshot.createGIF({
|
||||||
'video': [URL.createObjectURL(new Blob(can.ui.blobs, {type : 'video/webm'}))],
|
'video': [URL.createObjectURL(new Blob(can.ui.blobs, {type : 'video/webm'}))],
|
||||||
@ -89,4 +89,4 @@ Volcanos(chat.ONDETAIL, {help: "操作数据", list: ["关闭", "抓拍", "录
|
|||||||
can.user.download(can, URL.createObjectURL(new Blob(can.ui.blobs, {type: "video/webm"})), "record.webm")
|
can.user.download(can, URL.createObjectURL(new Blob(can.ui.blobs, {type: "video/webm"})), "record.webm")
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: ["total"]})
|
Volcanos(chat.ONEXPORT, {list: ["total"]})
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONAPPEND, {help: "渲染引擎", list: ["{", "}", html.HEAD, html.LEFT, html.MAIN, html.FOOT],
|
Volcanos(chat.ONAPPEND, {list: ["{", "}", html.HEAD, html.LEFT, html.MAIN, html.FOOT],
|
||||||
_parse: function(can, text, name, height) { var stack = [{_deep: -1, list: []}], finish = false
|
_parse: function(can, text, name, height) { var stack = [{_deep: -1, list: []}], finish = false
|
||||||
can.core.List(can.core.Split(text, ice.NL, ice.NL, ice.NL), function(line) { if (line == "" || finish) { return }
|
can.core.List(can.core.Split(text, ice.NL, ice.NL, ice.NL), function(line) { if (line == "" || finish) { return }
|
||||||
var deep = 0; for (var i = 0; i < line.length; i++) { if (line[i] == ice.SP) { deep++ } else if (line[i] == ice.TB) { deep += 4 } else { break } }
|
var deep = 0; for (var i = 0; i < line.length; i++) { if (line[i] == ice.SP) { deep++ } else if (line[i] == ice.TB) { deep += 4 } else { break } }
|
||||||
|
@ -68,7 +68,7 @@ Volcanos(chat.ONDETAIL, {
|
|||||||
}
|
}
|
||||||
for (var node = tree; node; node = node.last) { can.request(event, node.meta) }
|
for (var node = tree; node; node = node.last) { can.request(event, node.meta) }
|
||||||
can.run(can.request(event, can.Option()), can.base.Obj(can.Conf(lex.PREFIX), []).concat([can.Option("repos")||"", tree.file||"", tree.name]), function(msg) {
|
can.run(can.request(event, can.Option()), can.base.Obj(can.Conf(lex.PREFIX), []).concat([can.Option("repos")||"", tree.file||"", tree.name]), function(msg) {
|
||||||
if (msg.Length() == 0) { return can.ondetail.plugin(can, "web.code.inner", [can._msg.Option(nfs.DIR_ROOT), tree.file, tree.line], code.INNER) }
|
if (msg.Length() == 0) { return can.ondetail.plugin(can, web.CODE_INNER, [can._msg.Option(nfs.DIR_ROOT), tree.file, tree.line], code.INNER) }
|
||||||
if (msg.Append(mdb.INDEX)) { msg.Table(function(value) { can.ondetail.plugin(can, value.index, []) }); return }
|
if (msg.Append(mdb.INDEX)) { msg.Table(function(value) { can.ondetail.plugin(can, value.index, []) }); return }
|
||||||
|
|
||||||
if (msg.Option(lex.SPLIT)) {
|
if (msg.Option(lex.SPLIT)) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||||
can.onimport.select(can, msg)
|
can.onimport.select(can, msg)
|
||||||
can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg)
|
can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg)
|
||||||
can.onappend.table(can, msg), can.onappend.board(can, msg)
|
can.onappend.table(can, msg), can.onappend.board(can, msg)
|
||||||
@ -24,7 +24,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
]))
|
]))
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {help: "控件交互",
|
Volcanos(chat.ONACTION, {
|
||||||
next: function(event, can) { var msg = can._msg
|
next: function(event, can) { var msg = can._msg
|
||||||
msg.Table(function(line, index) {
|
msg.Table(function(line, index) {
|
||||||
if (line.link == location.href) {
|
if (line.link == location.href) {
|
||||||
|
11
proto.js
11
proto.js
@ -51,6 +51,8 @@ var ice = {
|
|||||||
ErrNotRight: "not right: ",
|
ErrNotRight: "not right: ",
|
||||||
ErrNotFound: "not found: ",
|
ErrNotFound: "not found: ",
|
||||||
ErrNotValid: "not valid: ",
|
ErrNotValid: "not valid: ",
|
||||||
|
|
||||||
|
USR_VOLCANOS: "usr/volcanos/",
|
||||||
}
|
}
|
||||||
|
|
||||||
var ctx = {
|
var ctx = {
|
||||||
@ -78,6 +80,9 @@ var web = {
|
|||||||
GET: "GET", PUT: "PUT", POST: "POST", DELETE: "DELETE",
|
GET: "GET", PUT: "PUT", POST: "POST", DELETE: "DELETE",
|
||||||
Accept: "Accept", ContentType: "Content-Type",
|
Accept: "Accept", ContentType: "Content-Type",
|
||||||
ContentJSON: "application/json", ContentFORM: "application/x-www-form-urlencoded",
|
ContentJSON: "application/json", ContentFORM: "application/x-www-form-urlencoded",
|
||||||
|
|
||||||
|
CODE_INNER: "web.code.inner",
|
||||||
|
WIKI_WORD: "web.wiki.word",
|
||||||
}
|
}
|
||||||
var mdb = {
|
var mdb = {
|
||||||
DICT: "dict", META: "meta", HASH: "hash", LIST: "list",
|
DICT: "dict", META: "meta", HASH: "hash", LIST: "list",
|
||||||
@ -141,9 +146,7 @@ var chat = {
|
|||||||
HEADER: "Header", ACTION: "Action",
|
HEADER: "Header", ACTION: "Action",
|
||||||
libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"],
|
libs: ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"],
|
||||||
panel_list: [
|
panel_list: [
|
||||||
{name: "Header", pos: "head", state: ["avatar", "usernick", "time"]},
|
{name: "Header", pos: "head"}, {name: "River", pos: "left"}, {name: "Action", pos: "main"}, {name: "Search", pos: "auto"}, {name: "Footer", pos: "foot"},
|
||||||
{name: "River", pos: "left"}, {name: "Action", pos: "main"}, {name: "Search", pos: "auto"},
|
|
||||||
{name: "Footer", pos: "foot", state: ["ncmd", "ntip"]},
|
|
||||||
],
|
],
|
||||||
plugin_list: [
|
plugin_list: [
|
||||||
"/plugin/state.js",
|
"/plugin/state.js",
|
||||||
@ -329,7 +332,7 @@ try { if (typeof(window) == lang.OBJECT) { // chrome
|
|||||||
Volcanos.meta.target = document.body, Volcanos.meta._height = window.innerHeight, Volcanos.meta._width = window.innerWidth
|
Volcanos.meta.target = document.body, Volcanos.meta._height = window.innerHeight, Volcanos.meta._width = window.innerWidth
|
||||||
Volcanos.meta._load = function(url, cb) { switch (url.split("?")[0].split(ice.PT).pop().toLowerCase()) {
|
Volcanos.meta._load = function(url, cb) { switch (url.split("?")[0].split(ice.PT).pop().toLowerCase()) {
|
||||||
case nfs.CSS: var item = document.createElement(mdb.LINK); item.rel = "stylesheet", item.href = url, item.onload = cb, document.head.appendChild(item); break
|
case nfs.CSS: var item = document.createElement(mdb.LINK); item.rel = "stylesheet", item.href = url, item.onload = cb, document.head.appendChild(item); break
|
||||||
default: var item = document.createElement(nfs.SCRIPT); item.src = url, item.onerror = cb, item.onload = cb, document.body.appendChild(item)
|
case nfs.JS: var item = document.createElement(nfs.SCRIPT); item.src = url, item.onerror = cb, item.onload = cb, document.body.appendChild(item); break
|
||||||
} }
|
} }
|
||||||
Volcanos.meta._init = function(can) {
|
Volcanos.meta._init = function(can) {
|
||||||
var last = can.page.width() < can.page.height(); window.onresize = function(event) {
|
var last = can.page.width() < can.page.height(); window.onresize = function(event) {
|
||||||
|
@ -23,7 +23,7 @@ try { if (typeof(global) == lang.OBJECT) { // nodejs
|
|||||||
} } catch (e) { console.log(e) }
|
} } catch (e) { console.log(e) }
|
||||||
|
|
||||||
_can_name = "./frame.js"
|
_can_name = "./frame.js"
|
||||||
Volcanos("onappend", {help: "渲染引擎",
|
Volcanos("onappend", {
|
||||||
table: function(can, msg) {
|
table: function(can, msg) {
|
||||||
var max = {}; msg.Table(function(value, index, array) {
|
var max = {}; msg.Table(function(value, index, array) {
|
||||||
for (var k in value) { if (value[k].length > (max[k]||0)) {
|
for (var k in value) { if (value[k].length > (max[k]||0)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user