1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 01:04:06 +08:00

add webpack

This commit is contained in:
shaoying 2020-08-10 02:47:20 +08:00
parent d1a5df083e
commit 31a4563e5d
5 changed files with 59 additions and 28 deletions

View File

@ -10,7 +10,7 @@ Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
}, target)
}, function() {
can.onlayout._init(can, meta, list, function() {
can.require(meta.main.list, function(can) {
can.require(location.protocol == "file:"? []: meta.main.list, function(can) {
can.onkeypop._init(can)
can.onengine._topic(can)
can.onengine._daemon(can, can.user.title())
@ -31,6 +31,7 @@ Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
can.page.Modify(can, can._target, {className: can.user.Search(can, "topic")||(can.user.Search(can, "pod")? "black": "white")})
},
_daemon: function(can, name) {
return
can.misc.WSS(can, "", {name: name, type: "chrome"}, function(event, msg) {
if (msg.Option("_handle")) { return can.user.toast(can, msg.result.join("")) }
can.user.toast(can, msg.detail.join(" "))
@ -57,8 +58,20 @@ Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
},
remote: function(event, can, msg, pane, cmds, cb) {
if (can.onengine.engine(event, can, msg, pane, cmds, cb)) { return }
var res = Volcanos.meta.pack[pane._name+","+cmds.join(",")]
if (res) {
res = can.request(event, res)
delete(msg._event), delete(msg._can)
return typeof cb == "function" && cb(res)
}
if (location.protocol == "file:") { typeof cb == "function" && cb(msg); return }
can.misc.Run(event, can, {names: pane._name}, cmds, cb)
can.misc.Run(event, can, {names: pane._name}, cmds, function(msg) {
delete(msg._event), delete(msg._can)
Volcanos.meta.pack[pane._name+","+cmds.join(",")] = msg
typeof cb == "function" && cb(msg)
})
},
engine: function(event, can, msg, pane, cmds, cb) { if (!can.onengine) { return false }
switch (pane._name) {

View File

@ -3,14 +3,15 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=0.7,user-scalable=no">
<title>volcanos</title>
<link rel="shortcut icon" type="image/ico" href="/favicon.ico">
<link rel="stylesheet" type="text/css" href="/cache.css">
<link rel="stylesheet" type="text/css" href="/index.css">
<link rel="shortcut icon" type="image/ico" href="favicon.ico">
<link rel="stylesheet" type="text/css" href="cache.css">
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
<script src="/proto.js"></script>
<script src="/cache.js"></script>
<script src="/index.js"></script>
<script src="proto.js"></script>
<script src="cache.js"></script>
<script src="cache_data.js"></script>
<script src="index.js"></script>
</body>

View File

@ -5,7 +5,7 @@ Volcanos({name: "chat", volcano: "/frame.js", iceberg: "/chat/", intshell: "plug
{name: "Action", help: "工作台", pos: "middle"},
{name: "Search", help: "搜索框", pos: "float"},
{name: "Footer", help: "状态条", pos: "foot", state: ["ncmd" ]},
], main: {name: "Header", engine: "remote", list: ["/publish/order.js"]}, plugin: [
], main: {name: "Header", engine: "remote", list: ["publish/order.js"]}, plugin: [
"/plugin/state.js",
"/plugin/table.js",
"/plugin/input.js",

View File

@ -9,6 +9,7 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg,
can.run(msg._event, ["search", "Footer.onaction._init"])
}, target)
}
if (location.protocol == "file:") { return init() }
can.run({}, ["check"], function(msg) { if (msg.Result()) { return init() }
can.user.login(can, init)
})
@ -26,6 +27,37 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg,
can.user.reload(true)
}
},
pack: function(event, can, key) {
var msg = can.request(event)
can.core.Item(Volcanos.meta.pack, function(key, msg) {
delete(msg._event), delete(msg._can)
})
msg.Option("content", JSON.stringify(Volcanos.meta.pack))
can.run(event, ["pack"], function(msg) {
can.user.toast(can, "保存成功")
})
},
white: function(event, can, key) {
can.page.Modify(can, document.body, {className: key})
},
black: function(event, can, key) {
can.page.Modify(can, document.body, {className: key})
},
Footer: function(event, can, key) {
can.page.Select(can, document.body, "fieldset.Action", function(item) {
if (item.style.height) {
height = document.body.offsetHeight
can.page.Select(can, item, "div.output")[0].style.height = ""
item.style.height = ""
} else {
can.page.Select(can, item, "div.output")[0].style.height = height-100+"px"
item.style.height = height-88+"px"
}
})
can.page.Select(can, document.body, "fieldset."+key, function(item) {
can.page.Modify(can, item, {style: {display: item.style.display == "none"? "block": "none"}})
})
},
})
Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg, list, cb, target) {
can.run(msg._event, [], function(msg) { can._output.innerHTML = ""
@ -58,27 +90,12 @@ Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg,
}, }], }]).input)
var height = document.body.offsetHeight
var ui = can.page.Append(can, can._output, can.core.List(["Search", "River", "Footer"], function(item) {
var ui = can.page.Append(can, can._output, can.core.List(["Search", "River", "Footer", "pack"], function(item) {
return {view: "item", list: [{type: "input", data: {name: item, type: "button", value: item.toLowerCase()},
onclick: function(event) {
if (item == "white") {
can.page.Modify(can, document.body, {className: item})
return
var cb = can.onaction[item]; if (typeof cb == "function") {
return cb(event, can, item)
}
if (item == "black") {
can.page.Modify(can, document.body, {className: item})
return
}
if (item == "Footer") { can.page.Select(can, document.body, "fieldset.Action", function(item) {
if (item.style.height) {
height = document.body.offsetHeight
can.page.Select(can, item, "div.output")[0].style.height = ""
item.style.height = ""
} else {
can.page.Select(can, item, "div.output")[0].style.height = height-100+"px"
item.style.height = height-88+"px"
}
}) }
can.page.Select(can, document.body, "fieldset."+item, function(item) {
can.page.Modify(can, item, {style: {display: item.style.display == "none"? "block": "none"}})

View File

@ -13,7 +13,7 @@ function shy(help, meta, list, cb) {
return cb
}
var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: {
}, libs: []}, [], function(name, can, libs, cb) { var meta = arguments.callee.meta, list = arguments.callee.list
}, libs: [], pack: {}}, [], function(name, can, libs, cb) { var meta = arguments.callee.meta, list = arguments.callee.list
if (typeof name == "object") { var Config = name
meta.volcano = Config.volcano, meta.libs = Config.libs
var Preload = Config.libs; Config.panes.forEach(function(pane) {