1
0
forked from x/volcanos
This commit is contained in:
shylinux 2021-10-20 23:28:19 +08:00
parent aad1665932
commit f0b4f24b47
10 changed files with 51 additions and 33 deletions

View File

@ -10,7 +10,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
can.onappend._init(can, item, item.list, function(panel) {
panel.run = function(event, cmds, cb) { var msg = panel.request(event); cmds = cmds||[]
return (can.onengine[cmds[0]]||can.onengine._remote)(event, can, msg, panel, cmds, cb)
}, can[item.name] = panel, panel._root = can, panel._trans = panel.onaction._trans
}, can[item.name] = panel, panel._root = can, panel._trans = panel.onaction && panel.onaction._trans||{}
can.core.ItemCB(panel.onaction, function(key, cb) {
can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) })
@ -41,7 +41,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
_engine: function(event, can, msg, panel, cmds, cb) { return false },
_remote: function(event, can, msg, panel, cmds, cb) {
if (panel.onengine._engine(event, can, msg, panel, cmds, cb)) { return }
can.search({follow: panel._follow, msg, cmds}, ["Footer.onimport.ncmd"])
can.search({follow: panel._follow, msg: msg, cmds: cmds}, ["Footer.onimport.ncmd"])
var key = can.core.Keys(panel._name, cmds.join(","))
if (can.user.isLocalFile) { var msg = can.request(event); msg.Clear(ice.MSG_APPEND)

View File

@ -74,8 +74,8 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg
for (var i = 0; i < arguments.length; i++) { msg.result.push(arguments[i]) }
return msg._hand = true, msg
},
}; msg.__proto__ = proto
return msg
};
return can.misc.proto(msg, proto)
},
POST: function(can, msg, url, form, cb) {
var xhr = new XMLHttpRequest(); msg._xhr = xhr
@ -118,10 +118,10 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg
})
can.misc.POST(can, msg, can.base.MergeURL(dataset.names.toLowerCase(),
"_", (msg._can.sup||msg._can)._name, "_daemon", msg.__daemon||dataset.daemon||"",
"_", (msg._can.sup||msg._can)._name, "_daemon", msg.__daemon||dataset.daemon||""
), form, cb)
},
WSS: function(can, args, cb, onopen, onclose, onerror) {
WSS: function(can, args, cb, onopen, onclose, onerror) { if (can.user.isIE) { return }
var url = location.protocol.replace("http", "ws")+"//"+location.host+"/space/"
if (url.indexOf("chrome") == 0) { url = "ws://localhost:9020/space/" }
@ -168,6 +168,14 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg
if (from[0] == "_search") { return from }
return to.concat(from)
},
proto: function(sub, sup) {
if (navigator.userAgent.indexOf("MSIE") > -1) {
for (var k in sup) { sub[k] = sub[k]||sup[k] }
} else {
sub.__proto__ = sup
}
return sub
},
Log: function() {
var args = [this._time(), this.FileLine(2, 3)]

View File

@ -166,7 +166,7 @@ Volcanos("page", {help: "用户界面", ClassList: {
// 递归节点
item.list && can.page.Append(can, node, item.list, value)
target && target.append && target.appendChild(node)
target && target.appendChild && target.appendChild(node)
can.base.isFunc(item._init) && item._init(node)
})
return value

View File

@ -19,6 +19,7 @@ Volcanos("user", {help: "用户操作", agent: {
typeof cb == "function" && cb([])
},
},
isIE: navigator.userAgent.indexOf("MSIE") > -1,
isLandscape: window.innerWidth > window.innerHeight,
isWeiXin: navigator.userAgent.indexOf("MicroMessenger") > -1,
isIPhone: navigator.userAgent.indexOf("iPhone") > -1,
@ -157,7 +158,7 @@ Volcanos("user", {help: "用户操作", agent: {
copy: function(event, can, text) {
if (navigator.clipboard) { var ok = false
navigator.clipboard.writeText(text).then(() => { ok = true })
navigator.clipboard.writeText(text).then(function() { ok = true })
if (ok) { return can.user.toast(can, text, "复制成功") }
}

View File

@ -459,7 +459,9 @@ body>div.upload input[type=file] {
}
body.white {
background-color:#052238bf;
/* background-color:rgba(68,92,106,0.7); */
background-color:rgba(5,34,56,0.75);
/* background-color:#052238bf; */
color:white;
}
body.white select {

View File

@ -48,7 +48,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can.page.Modify(can, can.toast, [time.split(ice.SP).pop(), title, content].join(ice.SP))
can._toast.Push({time: time, fileline: fileline, title: title, content: content})
},
ncmd: function(can, msg, follow, cmds) { const NCMD = "ncmd"; can._cmds = can._cmds || can.request()
ncmd: function(can, msg, follow, cmds) { var NCMD = "ncmd"; can._cmds = can._cmds || can.request()
can._cmds.Push({time: can.base.Time(), follow: follow, cmds: cmds})
can.page.Select(can, can._output, can.core.Keys(html.SPAN, NCMD), function(item) {
item.innerHTML = can.Conf(NCMD, parseInt(can.Conf(NCMD)||"0")+1+"")+""

View File

@ -1,6 +1,6 @@
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
can.path = can.request(), can.list = [], msg.Table(function(value) {
value.path.endsWith("/")? can.path.Push(value): can.list.push(value)
value.path.lastIndexOf("/")==value.path.length-1? can.path.Push(value): can.list.push(value)
})
can.base.isFunc(cb) && cb(msg)

View File

@ -180,11 +180,11 @@ Volcanos("onaction", {help: "交互操作", list: [
scanQRCode0: function(event, can) { can.user.agent.scanQRCode() },
getClipboardData: function(event, can, cmd) {
if (navigator.clipboard) {
navigator.clipboard.readText().then(text => {
navigator.clipboard.readText().then(function(text) {
can.run(event, can.base.Simple(ctx.ACTION, cmd, can.base.parseJSON(text)), function(msg) {
can.user.toast(can, text, "添加成功"), can.Update()
}, true)
}).catch((err) => { can.misc.Log(err) })
}).catch(function(err) { can.misc.Log(err) })
} else {
can.user.input(event, can, [{type: "textarea"}], function(ev, button, data, list, args) {
can.run(event, can.base.Simple(ctx.ACTION, cmd, can.base.parseJSON(list[0])), function(msg) {

View File

@ -17,7 +17,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
}
})
},
_sum: function(can, ) {
_sum: function(can) {
var begin = "", count = 0, rest = 0, add = 0, del = 0, max = 0
can.max = 0, can.min = 0, can.list = can.core.List(can.data, function(value, index) {
var line = {

View File

@ -1,4 +1,4 @@
const kit = {
var kit = {
MDB_ID: "id",
MDB_KEY: "key",
MDB_TIME: "time",
@ -16,7 +16,7 @@ const kit = {
MDB_HASH: "hash",
MDB_LIST: "list",
}
const ice = {
var ice = {
SP: " ", PT: ".", NL: "\n",
POD: "pod", CTX: "ctx", CMD: "cmd", ARG: "arg", OPT: "opt",
@ -47,51 +47,51 @@ const ice = {
AUTO: "auto",
}
const ctx = {
var ctx = {
CONTEXT: "context", COMMAND: "command", CONFIG: "config",
ACTION: "action",
}
const cli = {
var cli = {
RUN: "run", DONE: "done",
OPEN: "open", CLOSE: "close",
START: "start", STOP: "stop",
CLEAR: "clear", REFRESH: "refresh",
}
const web = {
var web = {
SHARE: "share",
SPACE: "space",
}
const aaa = {
var aaa = {
USERNAME: "username", USERNICK: "usernick", BACKGROUND: "background", AVATAR: "avatar",
LANGUAGE: "language", ENGLISH: "english", CHINESE: "chinese",
LOGIN: "login", LOGOUT: "logout", INVITE: "invite",
}
const mdb = {
var mdb = {
PLUGIN: "plugin", RENDER: "render", SEARCH: "search", INPUTS: "inputs",
CREATE: "create", REMOVE: "remove", INSERT: "insert", DELETE: "delete",
MODIFY: "modify", SELECT: "select",
META: "meta", HASH: "hash", LIST: "list",
}
const ssh = {
var ssh = {
SCRIPT: "script",
}
const nfs = {
var nfs = {
DIR: "dir",
}
const tcp = {
var tcp = {
HOST: "host",
}
const code = {
var code = {
WEBPACK: "webpack",
}
const wiki = {
var wiki = {
TITLE: "title", BRIEF: "brief", REFER: "refer", SPARK: "spark",
ORDER: "order", TABLE: "table", CHART: "chart", IMAGE: "image", VIDEO: "video",
FIELD: "field", SHELL: "shell", LOCAL: "local", PARSE: "parse",
}
const chat = {
var chat = {
LIB: "lib", PAGE: "page", PANEL: "panel", PLUGIN: "plugin", OUTPUT: "output",
STORY: "story", CARTE: "carte", INPUT: "input", FLOAT: "float",
HEAD: "head", AUTO: "auto", LEFT: "left", MAIN: "main", FOOT: "foot",
@ -113,16 +113,16 @@ const chat = {
SSO: "sso",
CMD_MARGIN: 53,
}
const team = {
var team = {
TASK: "task",
PLAN: "plan",
}
const mall = {
var mall = {
ASSET: "asset",
SALARY: "salary",
}
const html = {
var html = {
FIELDSET: "fieldset", LEGEND: "legend", OPTION: "option", ACTION: "action", OUTPUT: "output", STATUS: "status",
FORM_OPTION: "form.option", DIV_ACTION: "div.action", DIV_OUTPUT: "div.output", DIV_STATUS: "div.status",
@ -141,7 +141,7 @@ const html = {
FORM: "form", FILE: "file",
LIST: "list", ITEM: "item", MENU: "menu",
}
const lang = {
var lang = {
STRING: "string", OBJECT: "object", FUNCTION: "function",
ENTER: "Enter",
}
@ -174,7 +174,8 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args:
}, _can_name = "", can._root = can
}
can = can||{}, can.__proto__ = {__proto__: meta, _name: name, _load: function(name, cb) { // 加载缓存
can = can||{}
var proto = {__proto__: meta, _name: name, _load: function(name, cb) { // 加载缓存
var cache = meta.cache[name]||[]; for (list.reverse(); list.length > 0; list) {
var sub = list.pop(); sub != can && cache.push(sub)
}; meta.cache[name] = cache
@ -218,6 +219,12 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args:
Conf: function(key, value) { return can.core.Value(can._conf, key, value) }, _conf: {},
}
if (navigator.userAgent.indexOf("MSIE") > -1) {
for (var k in proto) { can[k] = proto[k] }
} else {
can.__proto__ = proto
}
if (_can_name) { // 加入缓存
meta.cache[_can_name] = meta.cache[_can_name]||[], meta.cache[_can_name].push(can)
} else { // 加入队列
@ -232,7 +239,7 @@ Volcanos.meta._load = function(url, cb) {
var item = document.createElement(kit.MDB_LINK)
item.rel = "stylesheet", item.type = "text/css"
item.onload = cb, item.href = url
return document.head.appendChild(item), item
return (document.head||document.body).appendChild(item), item
case "js":
var item = document.createElement(ssh.SCRIPT)
item.onload = cb, item.src = url