1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 01:04:06 +08:00
This commit is contained in:
harveyshao 2022-07-25 18:12:29 +08:00
parent cf209601e1
commit bd57313ac3
8 changed files with 25 additions and 12 deletions

View File

@ -103,7 +103,7 @@ Volcanos(chat.ONENGINE, {help: "搜索引擎", _init: function(can, meta, list,
arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb)
}),
signal: shy("触发事件", function(can, name, msg) { msg = msg||can.request()
can.misc.Log(gdb.SIGNAL, name, name == chat.ONREMOTE? msg.Option("_msg"): msg)
can.misc.Log(gdb.SIGNAL, name, (msg._cmds||[]), name == chat.ONREMOTE? msg.Option("_msg"): msg)
return can.core.List(can.onengine.listen.meta[name], function(cb) { can.core.CallFunc(cb, {event: msg._event, msg: msg}) }).length
}),
})
@ -272,6 +272,7 @@ Volcanos(chat.ONAPPEND, {help: "渲染引擎", _init: function(can, meta, list,
return can.Update(event, can.Input(cmds, silent), cb, silent)
}, can._outputs && can._outputs.push(table), table.sup = can, table._msg = msg
table._index = can._index
table.Mode(can.Mode()), table.Conf(table._args = can.base.ParseURL(table._display))
table._trans = can.base.Copy(table._trans||{}, can.core.Value(table, "onaction._trans"))
if (table.onimport && can.base.isArray(table.onimport.list) && table.onimport.list.length > 0) {

View File

@ -190,6 +190,11 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg
return val && val.length > 0? val[1]: ""
}),
SearchOrConf: function(can, key, def) { return can.base.getValid(can.misc.Search(can, key), can.Conf(key), def) },
SearchHash: function(can) {
if (can.isCmdMode() && can._index == can.misc.Search(can, "cmd")) {
return location.hash.slice(1)
}
},
Search: shy("请求参数", function(can, key, value) { var args = {}
if (value == undefined && can.base.isString(key)) {
var ls = location.pathname.split(ice.PS); if (ls[1] == chat.SHARE) { args[chat.SHARE] = ls[2] }

View File

@ -333,5 +333,6 @@ fieldset.plugin.location>div.action input[type=text] {
width:40px;
}
fieldset.xterm div.action>div.tabs:hover { background-color:black; }
fieldset.xterm div.action>div.tabs.select { background-color:black; }
fieldset.xterm>div.action>div.tabs:hover { background-color:black; }
fieldset.xterm>div.action>div.tabs.select { background-color:black; }
fieldset.xterm>div.output { background-color:black; }

View File

@ -573,7 +573,7 @@ Volcanos(chat.ONKEYMAP, {help: "导入数据",
}, _engine: {},
})
Volcanos(chat.ONACTION, {help: "控件交互", list: ["搜索", "打开"],
_trans: {load: "加载", link: "链接", width: "宽度", height: "高度", website: "网页"},
_trans: {source: "源码", module: "模块", dreams: "空间", load: "加载", link: "链接", width: "宽度", height: "高度", website: "网页"},
"搜索": function(event, can) {
can.user.input(event, can, [mdb.NAME, [ctx.ACTION, nfs.TAGS, nfs.GREP, cli.MAKE]], function(data) {
can.ui.search.Update({}, [ctx.ACTION, data.action, data.name])

View File

@ -8,7 +8,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
return can.onimport._connect(can, item)
}
var hash = can.sup._hash||(location.hash||"#").slice(1)||true, list = msg.Table(function(value) {
var hash = can.sup._hash||can.misc.SearchHash(can)||true, list = msg.Table(function(value) {
var item = can.onimport._item(can, value); value.hash == hash && (item.click(), hash = false)
}); hash && can.onimport._create(can, [mdb.TYPE, "", mdb.NAME, "term"])
}, 500) })
@ -88,7 +88,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
can.page.style(can, sub._output, html.MAX_WIDTH, can.ConfWidth()*3/4)
})
},
grow: function(can, msg, type) { var term = can.term[msg.Option(mdb.HASH)]
grow: function(can, msg, type) { var term = can.term[msg.Option(mdb.HASH)]; if (!term) { return }
switch (type) {
case "data": term.write(atob(msg.Option(mdb.TEXT))); break
case "exit": can.onmotion.clear(can, term._target); break
@ -117,7 +117,7 @@ Volcanos(chat.ONACTION, {help: "操作数据", list: [mdb.CREATE, lex.SPLIT, mdb
Volcanos(chat.ONDETAIL, {help: "操作数据", list: ["share", "plugin", "theme", "rename", "remove"],
share: function(event, can, button, item) { var msg = can.request(event); msg.Option("args", "")
can.onmotion.share(event, can, [{name: chat.TITLE, value: item.name}, {name: chat.TOPIC, values: [cli.WHITE, cli.BLACK]}], [
mdb.NAME, "web.code.xterm", mdb.TEXT, JSON.stringify([can.sup._hash]),
mdb.NAME, can._index, mdb.TEXT, JSON.stringify([can.sup._hash]),
])
},
plugin: function(event, can, button, item) {

View File

@ -1,2 +1,4 @@
fieldset.feel div.output img { display:block; float:left; }
fieldset.feel div.output video { display:block; float:left; }
fieldset.feel.float div.output img { display:block; float:none; margin:auto; }
fieldset.feel.float div.output video { display:block; float:none; margin:auto; }

View File

@ -7,9 +7,9 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
can.onappend.table(can, can.path, null, can.ui.content)
can.onappend._status(can, can.onexport.list)
can.Action(html.HEIGHT, msg.Option(html.HEIGHT)||msg._cmds[1]||"100")
can.Action(html.HEIGHT, msg.Option(html.HEIGHT)||msg._cmds[1]||ice.AUTO)
can.Action(html.SPEED, msg.Option(html.SPEED)||msg._cmds[2]||"1")
can.Action(mdb.LIMIT, msg.Option(mdb.LIMIT)||msg._cmds[3]||"6")
can.Action(mdb.LIMIT, msg.Option(mdb.LIMIT)||msg._cmds[3]||"9")
can.onmotion.hidden(can, can._action)
can.begin = parseInt(can.begin||msg.Option(cli.BEGIN)||"0")
@ -33,13 +33,13 @@ Volcanos(chat.ONFIGURE, {help: "组件菜单",
png: function(can, path, index) { return can.onfigure.image(can, path, index) },
jpg: function(can, path, index) { return can.onfigure.image(can, path, index) },
jpeg: function(can, path, index) { return can.onfigure.image(can, path, index) },
image: function(can, path, index) { return {img: path, height: can.Action(html.HEIGHT),
image: function(can, path, index) { return {img: path, height: can.onexport.height(can),
onmouseover: function(event) { can.Status(nfs.FILE, path) },
onclick: function(event) { can.ondetail._init(can, index) },
} },
video: function(can, path) { var auto = can.user.isMobile&&can.Action(mdb.LIMIT)!="1"? false: true, loop = true, total = 0; function cb(event) { }
return {type: html.VIDEO, style: {height: parseInt(can.Action(html.HEIGHT))}, className: "preview",
return {type: html.VIDEO, style: {height: can.onexport.height(can)}, className: "preview",
data: {src: path, controls: "controls", autoplay: auto, loop: loop, playbackRate: parseFloat(can.Action(html.SPEED))},
oncontextmenu: cb, onplay: cb, onpause: cb, onended: cb,
onmouseover: function(event) { can.Status(nfs.FILE, path) },
@ -55,7 +55,7 @@ Volcanos(chat.ONFIGURE, {help: "组件菜单",
mov: function(can, path) { return can.onfigure.video(can, path) },
})
Volcanos(chat.ONACTION, {help: "组件菜单", list: [
[html.HEIGHT, 100, 200, 400, 600, 800],
[html.HEIGHT, 100, 200, 400, 600, 800, ice.AUTO],
[html.SPEED, 0.1, 0.2, 0.5, 1, 2, 3, 5, 10],
[mdb.LIMIT, 1, 3, 6, 9, 12, 15, 20, 30, 50],
],
@ -112,6 +112,9 @@ Volcanos(chat.ONDETAIL, {help: "组件菜单", list: ["关闭", "下载", "删
"复制链接": function(event, can) { can.user.copy(event, can, can.misc.MergeURL(can, {_path: can.onimport._file(can, can.list[can.order].path)}, true)) },
})
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [cli.BEGIN, mdb.LIMIT, mdb.TOTAL, nfs.FILE, "position"],
height: function(can) { var height = can.Action(html.HEIGHT)
return parseInt(height == ice.AUTO? can.base.Min(can.ConfHeight()/4, 200): height)
},
position: function(can, index, total) { total = total || can.max
return parseInt((index+1)*100/total)+"%"+" = "+(parseInt(index)+1)+ice.PS+parseInt(total)
},

View File

@ -172,6 +172,7 @@ var chat = {
"/plugin/story/trend.js",
"/plugin/local/code/inner.js",
"/plugin/local/code/vimer.js",
"/plugin/local/code/xterm.js",
"/plugin/local/wiki/draw/path.js",
"/plugin/local/wiki/draw.js",
"/plugin/local/wiki/word.js",