forked from x/volcanos
opt ie
This commit is contained in:
parent
aad1665932
commit
f0b4f24b47
4
frame.js
4
frame.js
@ -10,7 +10,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
|
|||||||
can.onappend._init(can, item, item.list, function(panel) {
|
can.onappend._init(can, item, item.list, function(panel) {
|
||||||
panel.run = function(event, cmds, cb) { var msg = panel.request(event); cmds = cmds||[]
|
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)
|
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.core.ItemCB(panel.onaction, function(key, cb) {
|
||||||
can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) })
|
can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) })
|
||||||
@ -41,7 +41,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
|
|||||||
_engine: function(event, can, msg, panel, cmds, cb) { return false },
|
_engine: function(event, can, msg, panel, cmds, cb) { return false },
|
||||||
_remote: function(event, can, msg, panel, cmds, cb) {
|
_remote: function(event, can, msg, panel, cmds, cb) {
|
||||||
if (panel.onengine._engine(event, can, msg, panel, cmds, cb)) { return }
|
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(","))
|
var key = can.core.Keys(panel._name, cmds.join(","))
|
||||||
if (can.user.isLocalFile) { var msg = can.request(event); msg.Clear(ice.MSG_APPEND)
|
if (can.user.isLocalFile) { var msg = can.request(event); msg.Clear(ice.MSG_APPEND)
|
||||||
|
16
lib/misc.js
16
lib/misc.js
@ -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]) }
|
for (var i = 0; i < arguments.length; i++) { msg.result.push(arguments[i]) }
|
||||||
return msg._hand = true, msg
|
return msg._hand = true, msg
|
||||||
},
|
},
|
||||||
}; msg.__proto__ = proto
|
};
|
||||||
return msg
|
return can.misc.proto(msg, proto)
|
||||||
},
|
},
|
||||||
POST: function(can, msg, url, form, cb) {
|
POST: function(can, msg, url, form, cb) {
|
||||||
var xhr = new XMLHttpRequest(); msg._xhr = xhr
|
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(),
|
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)
|
), 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/"
|
var url = location.protocol.replace("http", "ws")+"//"+location.host+"/space/"
|
||||||
if (url.indexOf("chrome") == 0) { url = "ws://localhost:9020/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 }
|
if (from[0] == "_search") { return from }
|
||||||
return to.concat(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() {
|
Log: function() {
|
||||||
var args = [this._time(), this.FileLine(2, 3)]
|
var args = [this._time(), this.FileLine(2, 3)]
|
||||||
|
@ -166,7 +166,7 @@ Volcanos("page", {help: "用户界面", ClassList: {
|
|||||||
|
|
||||||
// 递归节点
|
// 递归节点
|
||||||
item.list && can.page.Append(can, node, item.list, value)
|
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)
|
can.base.isFunc(item._init) && item._init(node)
|
||||||
})
|
})
|
||||||
return value
|
return value
|
||||||
|
@ -19,6 +19,7 @@ Volcanos("user", {help: "用户操作", agent: {
|
|||||||
typeof cb == "function" && cb([])
|
typeof cb == "function" && cb([])
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
isIE: navigator.userAgent.indexOf("MSIE") > -1,
|
||||||
isLandscape: window.innerWidth > window.innerHeight,
|
isLandscape: window.innerWidth > window.innerHeight,
|
||||||
isWeiXin: navigator.userAgent.indexOf("MicroMessenger") > -1,
|
isWeiXin: navigator.userAgent.indexOf("MicroMessenger") > -1,
|
||||||
isIPhone: navigator.userAgent.indexOf("iPhone") > -1,
|
isIPhone: navigator.userAgent.indexOf("iPhone") > -1,
|
||||||
@ -157,7 +158,7 @@ Volcanos("user", {help: "用户操作", agent: {
|
|||||||
|
|
||||||
copy: function(event, can, text) {
|
copy: function(event, can, text) {
|
||||||
if (navigator.clipboard) { var ok = false
|
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, "复制成功") }
|
if (ok) { return can.user.toast(can, text, "复制成功") }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -459,7 +459,9 @@ body>div.upload input[type=file] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
body.white {
|
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;
|
color:white;
|
||||||
}
|
}
|
||||||
body.white select {
|
body.white select {
|
||||||
|
@ -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.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})
|
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._cmds.Push({time: can.base.Time(), follow: follow, cmds: cmds})
|
||||||
can.page.Select(can, can._output, can.core.Keys(html.SPAN, NCMD), function(item) {
|
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+"")+""
|
item.innerHTML = can.Conf(NCMD, parseInt(can.Conf(NCMD)||"0")+1+"")+""
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
||||||
can.path = can.request(), can.list = [], msg.Table(function(value) {
|
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)
|
can.base.isFunc(cb) && cb(msg)
|
||||||
|
@ -180,11 +180,11 @@ Volcanos("onaction", {help: "交互操作", list: [
|
|||||||
scanQRCode0: function(event, can) { can.user.agent.scanQRCode() },
|
scanQRCode0: function(event, can) { can.user.agent.scanQRCode() },
|
||||||
getClipboardData: function(event, can, cmd) {
|
getClipboardData: function(event, can, cmd) {
|
||||||
if (navigator.clipboard) {
|
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.run(event, can.base.Simple(ctx.ACTION, cmd, can.base.parseJSON(text)), function(msg) {
|
||||||
can.user.toast(can, text, "添加成功"), can.Update()
|
can.user.toast(can, text, "添加成功"), can.Update()
|
||||||
}, true)
|
}, true)
|
||||||
}).catch((err) => { can.misc.Log(err) })
|
}).catch(function(err) { can.misc.Log(err) })
|
||||||
} else {
|
} else {
|
||||||
can.user.input(event, can, [{type: "textarea"}], function(ev, button, data, list, args) {
|
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) {
|
can.run(event, can.base.Simple(ctx.ACTION, cmd, can.base.parseJSON(list[0])), function(msg) {
|
||||||
|
@ -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
|
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) {
|
can.max = 0, can.min = 0, can.list = can.core.List(can.data, function(value, index) {
|
||||||
var line = {
|
var line = {
|
||||||
|
45
proto.js
45
proto.js
@ -1,4 +1,4 @@
|
|||||||
const kit = {
|
var kit = {
|
||||||
MDB_ID: "id",
|
MDB_ID: "id",
|
||||||
MDB_KEY: "key",
|
MDB_KEY: "key",
|
||||||
MDB_TIME: "time",
|
MDB_TIME: "time",
|
||||||
@ -16,7 +16,7 @@ const kit = {
|
|||||||
MDB_HASH: "hash",
|
MDB_HASH: "hash",
|
||||||
MDB_LIST: "list",
|
MDB_LIST: "list",
|
||||||
}
|
}
|
||||||
const ice = {
|
var ice = {
|
||||||
SP: " ", PT: ".", NL: "\n",
|
SP: " ", PT: ".", NL: "\n",
|
||||||
POD: "pod", CTX: "ctx", CMD: "cmd", ARG: "arg", OPT: "opt",
|
POD: "pod", CTX: "ctx", CMD: "cmd", ARG: "arg", OPT: "opt",
|
||||||
|
|
||||||
@ -47,51 +47,51 @@ const ice = {
|
|||||||
AUTO: "auto",
|
AUTO: "auto",
|
||||||
}
|
}
|
||||||
|
|
||||||
const ctx = {
|
var ctx = {
|
||||||
CONTEXT: "context", COMMAND: "command", CONFIG: "config",
|
CONTEXT: "context", COMMAND: "command", CONFIG: "config",
|
||||||
ACTION: "action",
|
ACTION: "action",
|
||||||
}
|
}
|
||||||
const cli = {
|
var cli = {
|
||||||
RUN: "run", DONE: "done",
|
RUN: "run", DONE: "done",
|
||||||
OPEN: "open", CLOSE: "close",
|
OPEN: "open", CLOSE: "close",
|
||||||
START: "start", STOP: "stop",
|
START: "start", STOP: "stop",
|
||||||
CLEAR: "clear", REFRESH: "refresh",
|
CLEAR: "clear", REFRESH: "refresh",
|
||||||
}
|
}
|
||||||
const web = {
|
var web = {
|
||||||
SHARE: "share",
|
SHARE: "share",
|
||||||
SPACE: "space",
|
SPACE: "space",
|
||||||
}
|
}
|
||||||
const aaa = {
|
var aaa = {
|
||||||
USERNAME: "username", USERNICK: "usernick", BACKGROUND: "background", AVATAR: "avatar",
|
USERNAME: "username", USERNICK: "usernick", BACKGROUND: "background", AVATAR: "avatar",
|
||||||
LANGUAGE: "language", ENGLISH: "english", CHINESE: "chinese",
|
LANGUAGE: "language", ENGLISH: "english", CHINESE: "chinese",
|
||||||
LOGIN: "login", LOGOUT: "logout", INVITE: "invite",
|
LOGIN: "login", LOGOUT: "logout", INVITE: "invite",
|
||||||
}
|
}
|
||||||
const mdb = {
|
var mdb = {
|
||||||
PLUGIN: "plugin", RENDER: "render", SEARCH: "search", INPUTS: "inputs",
|
PLUGIN: "plugin", RENDER: "render", SEARCH: "search", INPUTS: "inputs",
|
||||||
CREATE: "create", REMOVE: "remove", INSERT: "insert", DELETE: "delete",
|
CREATE: "create", REMOVE: "remove", INSERT: "insert", DELETE: "delete",
|
||||||
MODIFY: "modify", SELECT: "select",
|
MODIFY: "modify", SELECT: "select",
|
||||||
|
|
||||||
META: "meta", HASH: "hash", LIST: "list",
|
META: "meta", HASH: "hash", LIST: "list",
|
||||||
}
|
}
|
||||||
const ssh = {
|
var ssh = {
|
||||||
SCRIPT: "script",
|
SCRIPT: "script",
|
||||||
}
|
}
|
||||||
const nfs = {
|
var nfs = {
|
||||||
DIR: "dir",
|
DIR: "dir",
|
||||||
}
|
}
|
||||||
const tcp = {
|
var tcp = {
|
||||||
HOST: "host",
|
HOST: "host",
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = {
|
var code = {
|
||||||
WEBPACK: "webpack",
|
WEBPACK: "webpack",
|
||||||
}
|
}
|
||||||
const wiki = {
|
var wiki = {
|
||||||
TITLE: "title", BRIEF: "brief", REFER: "refer", SPARK: "spark",
|
TITLE: "title", BRIEF: "brief", REFER: "refer", SPARK: "spark",
|
||||||
ORDER: "order", TABLE: "table", CHART: "chart", IMAGE: "image", VIDEO: "video",
|
ORDER: "order", TABLE: "table", CHART: "chart", IMAGE: "image", VIDEO: "video",
|
||||||
FIELD: "field", SHELL: "shell", LOCAL: "local", PARSE: "parse",
|
FIELD: "field", SHELL: "shell", LOCAL: "local", PARSE: "parse",
|
||||||
}
|
}
|
||||||
const chat = {
|
var chat = {
|
||||||
LIB: "lib", PAGE: "page", PANEL: "panel", PLUGIN: "plugin", OUTPUT: "output",
|
LIB: "lib", PAGE: "page", PANEL: "panel", PLUGIN: "plugin", OUTPUT: "output",
|
||||||
STORY: "story", CARTE: "carte", INPUT: "input", FLOAT: "float",
|
STORY: "story", CARTE: "carte", INPUT: "input", FLOAT: "float",
|
||||||
HEAD: "head", AUTO: "auto", LEFT: "left", MAIN: "main", FOOT: "foot",
|
HEAD: "head", AUTO: "auto", LEFT: "left", MAIN: "main", FOOT: "foot",
|
||||||
@ -113,16 +113,16 @@ const chat = {
|
|||||||
SSO: "sso",
|
SSO: "sso",
|
||||||
CMD_MARGIN: 53,
|
CMD_MARGIN: 53,
|
||||||
}
|
}
|
||||||
const team = {
|
var team = {
|
||||||
TASK: "task",
|
TASK: "task",
|
||||||
PLAN: "plan",
|
PLAN: "plan",
|
||||||
}
|
}
|
||||||
const mall = {
|
var mall = {
|
||||||
ASSET: "asset",
|
ASSET: "asset",
|
||||||
SALARY: "salary",
|
SALARY: "salary",
|
||||||
}
|
}
|
||||||
|
|
||||||
const html = {
|
var html = {
|
||||||
FIELDSET: "fieldset", LEGEND: "legend", OPTION: "option", ACTION: "action", OUTPUT: "output", STATUS: "status",
|
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",
|
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",
|
FORM: "form", FILE: "file",
|
||||||
LIST: "list", ITEM: "item", MENU: "menu",
|
LIST: "list", ITEM: "item", MENU: "menu",
|
||||||
}
|
}
|
||||||
const lang = {
|
var lang = {
|
||||||
STRING: "string", OBJECT: "object", FUNCTION: "function",
|
STRING: "string", OBJECT: "object", FUNCTION: "function",
|
||||||
ENTER: "Enter",
|
ENTER: "Enter",
|
||||||
}
|
}
|
||||||
@ -174,7 +174,8 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args:
|
|||||||
}, _can_name = "", can._root = can
|
}, _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 cache = meta.cache[name]||[]; for (list.reverse(); list.length > 0; list) {
|
||||||
var sub = list.pop(); sub != can && cache.push(sub)
|
var sub = list.pop(); sub != can && cache.push(sub)
|
||||||
}; meta.cache[name] = cache
|
}; 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: {},
|
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) { // 加入缓存
|
if (_can_name) { // 加入缓存
|
||||||
meta.cache[_can_name] = meta.cache[_can_name]||[], meta.cache[_can_name].push(can)
|
meta.cache[_can_name] = meta.cache[_can_name]||[], meta.cache[_can_name].push(can)
|
||||||
} else { // 加入队列
|
} else { // 加入队列
|
||||||
@ -232,7 +239,7 @@ Volcanos.meta._load = function(url, cb) {
|
|||||||
var item = document.createElement(kit.MDB_LINK)
|
var item = document.createElement(kit.MDB_LINK)
|
||||||
item.rel = "stylesheet", item.type = "text/css"
|
item.rel = "stylesheet", item.type = "text/css"
|
||||||
item.onload = cb, item.href = url
|
item.onload = cb, item.href = url
|
||||||
return document.head.appendChild(item), item
|
return (document.head||document.body).appendChild(item), item
|
||||||
case "js":
|
case "js":
|
||||||
var item = document.createElement(ssh.SCRIPT)
|
var item = document.createElement(ssh.SCRIPT)
|
||||||
item.onload = cb, item.src = url
|
item.onload = cb, item.src = url
|
||||||
|
Loading…
x
Reference in New Issue
Block a user