1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 01:04:06 +08:00
This commit is contained in:
shaoying 2020-08-11 08:32:27 +08:00
parent 4fd058f1bb
commit 9e6fe0a8c9
7 changed files with 24 additions and 26 deletions

View File

@ -1,7 +1,7 @@
// volcanos: 前端 火山架 我看不行 // volcanos: 前端 火山架 我看不行
// FMS: a fieldset manager system // FMS: a fieldset manager system
Volcanos("onengine", { _init: function(can, meta, list, cb, target) { Volcanos("onengine", {help: "解析引擎", list: [], _init: function(can, meta, list, cb, target) {
can.core.Next(meta.panes, function(item, next) { can.core.Next(meta.panes, function(item, next) {
can.onappend._init(can, item, meta.libs.concat(item.list), function(pane) { pane.Conf(item) can.onappend._init(can, item, meta.libs.concat(item.list), function(pane) { pane.Conf(item)
pane.run = function(event, cmds, cb) { pane.run = function(event, cmds, cb) {
@ -9,15 +9,15 @@ Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
}, can[item.name] = pane, next() }, can[item.name] = pane, next()
}, target) }, target)
}, function() { }, function() {
can.onlayout._init(can, meta, list, function() { can.onlayout._init(can, meta, list, function() {}, target)
can.require(Volcanos.meta.webpack? []: meta.main.list, function(can) { can.onengine._daemon(can, can.user.title())
can.onkeypop._init(can) can.onengine._topic(can)
can.onengine._topic(can) can.onkeypop._init(can)
can.onengine._daemon(can, can.user.title())
var pane = can[meta.main.name], msg = can.request({}) can.require(Volcanos.meta.webpack? []: meta.main.list, function(can) {
pane.onaction && pane.onaction._init(pane, msg, msg.option||[], cb, target) var pane = can[meta.main.name], msg = can.request({})
}) pane.onaction && pane.onaction._init(pane, msg, msg.option||[], cb, target)
}, target) })
}) })
}, },
_merge: function(can, sub) { _merge: function(can, sub) {
@ -243,7 +243,7 @@ Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
}}, }},
}, },
}) })
Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { meta.name = meta.name.split(" ")[0] Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, list, cb, target, field) { meta.name = meta.name.split(" ")[0]
field = field || can.onappend.field(can, target, meta.type||"plugin", meta).first field = field || can.onappend.field(can, target, meta.type||"plugin", meta).first
var legend = can.page.Select(can, field, "legend")[0] var legend = can.page.Select(can, field, "legend")[0]
var option = can.page.Select(can, field, "form.option")[0] var option = can.page.Select(can, field, "form.option")[0]
@ -384,6 +384,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
var display = (msg.Option("_plugin")||msg.Option("_display")||meta.feature.plugin||meta.feature.display||"table.js") var display = (msg.Option("_plugin")||msg.Option("_display")||meta.feature.plugin||meta.feature.display||"table.js")
display.indexOf("/") == 0 || (display = "/plugin/"+display) display.indexOf("/") == 0 || (display = "/plugin/"+display)
display.endsWith(".js") || (display += ".js")
var table = Volcanos(display, { _help: display, _follow: can._follow+"."+display, var table = Volcanos(display, { _help: display, _follow: can._follow+"."+display,
_target: can._output, _option: can._option, _action: can._action, _output: can._output, _status: can._status, _target: can._output, _option: can._option, _action: can._action, _output: can._output, _status: can._status,
_fields: can._target, Option: can.Option, Action: can.Action, Status: can.Status, _fields: can._target, Option: can.Option, Action: can.Action, Status: can.Status,
@ -566,7 +567,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
msg.result && can.page.AppendBoard(can, target, can.page.Display(msg.Result())) msg.result && can.page.AppendBoard(can, target, can.page.Display(msg.Result()))
}, },
}, [], function(can) {}) }, [], function(can) {})
Volcanos("onlayout", { _init: function(can, meta, list, cb, target) { Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, meta, list, cb, target) {
if (can.user.Search(can, "share")) { return typeof cb == "function" && cb() } if (can.user.Search(can, "share")) { return typeof cb == "function" && cb() }
var width = can._width, height = can._height var width = can._width, height = can._height
@ -630,10 +631,8 @@ Volcanos("onkeypop", {help: "键盘交互", list: [], _init: function(can) {
event.preventDefault() event.preventDefault()
} }
document.body.onkeyup = function(event) { document.body.onkeyup = function(event) {
console.log(event)
} }
}, }, action: null,
action: null,
}) })
Volcanos("onmotion", {help: "动态交互", list: [], _init: function(can) { Volcanos("onmotion", {help: "动态交互", list: [], _init: function(can) {
}, },

View File

@ -25,7 +25,7 @@ var user = Volcanos("user", {help: "用户模块",
}) })
}, },
toast: function(can, text, title, duration) { toast: function(can, text, title, duration) {
var meta = typeof text == "object"? text: {text: text, title: title, duration: duration} var meta = typeof text == "object"? text: {text: text, title: title||can._help, duration: duration}
var width = meta.width||200, height = meta.height||100 var width = meta.width||200, height = meta.height||100
var ui = can.page.Append(can, document.body, [{view: "toast", style: { var ui = can.page.Append(can, document.body, [{view: "toast", style: {
@ -38,7 +38,7 @@ var user = Volcanos("user", {help: "用户模块",
]}]) ]}])
can.Timer({value: 100, length: (meta.duration||1000)/100}, function(event, interval, index) { can.Timer({value: 100, length: (meta.duration||1000)/100}, function(event, interval, index) {
if (index > 20) { ui.duration.innerHTML = (index/10)+"s..." } if (index > 20) { ui.duration.innerHTML = parseInt(index/10)+"."+(index%10)+"s..." }
}, function() { can.page.Remove(can, ui.first) }) }, function() { can.page.Remove(can, ui.first) })
ui.Close = function() { can.page.Remove(can, ui.first) } ui.Close = function() { can.page.Remove(can, ui.first) }

View File

@ -32,9 +32,10 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg,
can.core.Item(Volcanos.meta.pack, function(key, msg) { can.core.Item(Volcanos.meta.pack, function(key, msg) {
delete(msg._event), delete(msg._can) delete(msg._event), delete(msg._can)
}) })
var toast = can.user.toast(can, "打包中...", "webpack", 1000000)
msg.Option("content", JSON.stringify(Volcanos.meta.pack)) msg.Option("content", JSON.stringify(Volcanos.meta.pack))
can.run(event, ["pack"], function(msg) { can.run(event, ["pack"], function(msg) {
can.user.toast(can, "保存成功") toast.Close(), can.user.toast(can, "打包成功", "webpack")
}) })
}, },
white: function(event, can, key) { white: function(event, can, key) {

View File

@ -3,7 +3,7 @@ fieldset.feel div.action {
} }
fieldset.feel div.output { fieldset.feel div.output {
min-height:200px; min-height:100px;
} }
fieldset.feel div.output div.content { fieldset.feel div.output div.content {
max-height:200px; max-height:200px;

View File

@ -4,8 +4,8 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can.begin = 0 can.begin = 0
can.Action("倍速", can.rate = 1) can.Action("倍速", can.rate = 1)
can.Action("数量", can.limit = parseInt(msg.Option("limit"))||3) can.Action("数量", can.limit = parseInt(msg.Option("limit"))||6)
can.Action("高度", can.height = parseInt(msg.Option("height"))||200) can.Action("高度", can.height = parseInt(msg.Option("height"))||100)
can.Option("path") != "最近/" && can.onimport.page(can, can._msg.Table(), can.begin, can.limit) can.Option("path") != "最近/" && can.onimport.page(can, can._msg.Table(), can.begin, can.limit)
}, },
page: function(can, list, begin, limit) { can._target.innerHTML = "" page: function(can, list, begin, limit) { can._target.innerHTML = ""
@ -90,7 +90,7 @@ Volcanos("onaction", {help: "组件菜单", list: [
can.rate = parseInt(value), can.onimport.page(can, can._msg.Table(), can.begin, can.limit) can.rate = parseInt(value), can.onimport.page(can, can._msg.Table(), can.begin, can.limit)
}, },
}) })
Volcanos("onexport", {help: "导出数据", list: ["begin", "limit", "total", "position", "文件"], Volcanos("onexport", {help: "导出数据", list: ["total", "begin", "limit", "position", "文件"],
position: function(can, index, total) { total = total || can.max position: function(can, index, total) { total = total || can.max
return parseInt((index+1)*100/total)+"%"+" = "+(parseInt(index)+1)+"/"+parseInt(total) return parseInt((index+1)*100/total)+"%"+" = "+(parseInt(index)+1)+"/"+parseInt(total)
}, },

View File

@ -24,7 +24,7 @@ Volcanos("onimport", {help: "导入数据", list: [],
can.Action("speed", "100") can.Action("speed", "100")
can.Action("scale", "1") can.Action("scale", "1")
can.Action("stroke-width", "1") can.Action("stroke-width", "1")
can.sub.svg.Value("transform", "scale("+can.Action("scale")+")") can.sub.svg.Value("transform", "scale("+(can.Action("scale")||1)+")")
can.onaction["横向"](event, can) can.onaction["横向"](event, can)
sub.Action("go", "run") sub.Action("go", "run")
}) })

View File

@ -1,4 +1,3 @@
var _can_name = ""
function shy(help, meta, list, cb) { function shy(help, meta, list, cb) {
var index = -1, value = "", type = "string", args = arguments; function next(check) { var index = -1, value = "", type = "string", args = arguments; function next(check) {
if (++index >= args.length) {return false} if (++index >= args.length) {return false}
@ -12,6 +11,7 @@ function shy(help, meta, list, cb) {
cb.list = next("object") || [] cb.list = next("object") || []
return cb return cb
} }
var _can_name = ""
var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: { var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: {
}, libs: [], pack: {}}, [], 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 if (typeof name == "object") { var Config = name
@ -176,13 +176,11 @@ var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: {
} }
cache[name] = {node: temp, data: data} cache[name] = {node: temp, data: data}
console.log(can._root, can._name, "save", name, cache[name])
return name return name
} }
output.innerHTML = "" output.innerHTML = ""
var list = cache[name]; if (!list) {return} var list = cache[name]; if (!list) {return}
console.log(can._root, can._name, "load", name, cache[name])
// 读缓存 // 读缓存
while (list.node.childNodes.length>0) { while (list.node.childNodes.length>0) {